Как сложить два числа
Я написал программу для парсинга курса доллара, но столкнулся с проблемой - переменная b не умножает числа а складывает их как текст.
Помогите пожалуйста, как сделать так чтобы переменная b перемножала два числа , и при этом не округляла его.
код
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'curs.ui'
#
# Created by: PyQt5 UI code generator 5.15.0
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
import sys
import requests
import time
from bs4 import BeautifulSoup
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.resize(404, 233)
Dialog.setStyleSheet("QDialog {\n"
"background: #3d3a39;\n"
"}")
self.label = QtWidgets.QLabel(Dialog)
self.label.setGeometry(QtCore.QRect(10, -60, 331, 161))
font = QtGui.QFont()
font.setPointSize(-1)
font.setBold(True)
font.setWeight(75)
self.label.setFont(font)
self.label.setStyleSheet("QLabel {\n"
"font-size:18px;\n"
"color: #a65a3a;\n"
"}")
self.label.setObjectName("label")
self.lineEdit = QtWidgets.QLineEdit(Dialog)
self.lineEdit.setGeometry(QtCore.QRect(10, 90, 141, 41))
font = QtGui.QFont()
font.setPointSize(12)
font.setBold(True)
font.setWeight(75)
self.lineEdit.setFont(font)
self.lineEdit.setStyleSheet("QLineEdit {\n"
"background: #5c5856;\n"
"border-color:#ffffff;\n"
"border-radius:8px;\n"
" border: 3px solid #a65a3a;\n"
"color:#e5d7d1;\n"
"}")
self.lineEdit.setObjectName("lineEdit")
self.line = QtWidgets.QFrame(Dialog)
self.line.setGeometry(QtCore.QRect(0, 30, 401, 31))
self.line.setStyleSheet("Line {\n"
"height:200px;\n"
"\n"
"}")
self.line.setFrameShape(QtWidgets.QFrame.HLine)
self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line.setObjectName("line")
self.label_2 = QtWidgets.QLabel(Dialog)
self.label_2.setGeometry(QtCore.QRect(10, 60, 211, 20))
font = QtGui.QFont()
font.setPointSize(-1)
font.setBold(True)
font.setWeight(75)
self.label_2.setFont(font)
self.label_2.setStyleSheet("QLabel {\n"
"font-size:14px;\n"
"color: #a65a3a;\n"
"}")
self.label_2.setObjectName("label_2")
self.textBrowser = QtWidgets.QTextBrowser(Dialog)
self.textBrowser.setGeometry(QtCore.QRect(10, 180, 141, 41))
font = QtGui.QFont()
font.setPointSize(12)
font.setBold(True)
font.setWeight(75)
self.textBrowser.setFont(font)
self.textBrowser.setStyleSheet("QTextBrowser {\n"
"background: #5c5856;\n"
"border-color:#ffffff;\n"
"border-radius:8px;\n"
" border: 3px solid #a65a3a;\n"
"color:#e5d7d1;\n"
"}")
self.textBrowser.setObjectName("textBrowser")
self.label_3 = QtWidgets.QLabel(Dialog)
self.label_3.setGeometry(QtCore.QRect(10, 150, 211, 20))
font = QtGui.QFont()
font.setPointSize(-1)
font.setBold(True)
font.setWeight(75)
self.label_3.setFont(font)
self.label_3.setStyleSheet("QLabel {\n"
"font-size:14px;\n"
"color: #a65a3a;\n"
"}")
self.label_3.setObjectName("label_3")
self.pushButton = QtWidgets.QPushButton(Dialog)
self.pushButton.setGeometry(QtCore.QRect(160, 180, 41, 41))
self.pushButton.setStyleSheet("QPushButton {\n"
"background: #5c5856;\n"
"border-color:#ffffff;\n"
"border-radius:8px;\n"
" border: 3px solid #a65a3a;\n"
"color:#e5d7d1;\n"
"}\n"
"QPushButton:hover {\n"
"background: #757473;\n"
"border-color:#ffffff;\n"
"border-radius:8px;\n"
" border: 3px solid #a65a3a;\n"
"color:#e5d7d1;\n"
"}\n"
"QPushButton:pressed {\n"
"background: #757473;\n"
"border-color:#ffffff;\n"
"border-radius:8px;\n"
" border: 5px solid #a65a3a;\n"
"color:#e5d7d1;\n"
"font-size:8px;\n"
"}")
self.pushButton.setObjectName("pushButton")
self.label_4 = QtWidgets.QLabel(Dialog)
self.label_4.setGeometry(QtCore.QRect(340, 0, 55, 41))
font = QtGui.QFont()
font.setPointSize(-1)
font.setBold(True)
font.setWeight(75)
self.label_4.setFont(font)
self.label_4.setStyleSheet("QLabel {\n"
"font-size:18px;\n"
"color: #a65a3a;\n"
"}")
self.label_4.setObjectName("label_4")
self.retranslateUi(Dialog)
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):
_translate = QtCore.QCoreApplication.translate
Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
self.label.setText(_translate("Dialog", "Нынешний курс доллара в рублях"))
self.lineEdit.setText(_translate("Dialog", ""))
self.label_2.setText(_translate("Dialog", "Введите число в долларах:"))
self.textBrowser.setHtml(_translate("Dialog", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:\'MS Shell Dlg 2\'; font-size:12pt; font-weight:600; font-style:normal;\">\n"
"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><br /></p></body></html>"))
self.label_3.setText(_translate("Dialog", "В рублях это:"))
self.pushButton.setText(_translate("Dialog", "Press"))
self.label_4.setText(_translate("Dialog", ":"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Dialog = QtWidgets.QDialog()
ui = Ui_Dialog()
ui.setupUi(Dialog)
Dialog.show()
def get():
DOLL = 'https://www.google.com/search?q=%D0%BA%D1%83%D1%80%D1%81+%D0%B4%D0%BE%D0%BB%D0%BB%D0%B0%D1%80%D0%B0+%D0%B2+%D1%80%D1%83%D0%B1%D0%BB%D1%8F%D1%85&oq=&aqs=chrome.2.69i59l8.1415620j0j7&sourceid=chrome&ie=UTF-8'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36'}
full_page = requests.get(DOLL, headers=headers)
soup = BeautifulSoup(full_page.content, 'html.parser')
convert = soup.findAll("span", {"class": "DFlfde SwHCTb"})
num = float(convert[0].text)
a = ui.lineEdit.text()
b = str(num) * int(a)
g = str(num) * int(1)
ui.textBrowser.setText(b)
ui.label_4.setText(g)
ui.pushButton.clicked.connect(get)
sys.exit(app.exec_())
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
я отметил для вас строки, которые надо изменить, но азы языка надо знать.
import sys
import requests
import time
from bs4 import BeautifulSoup
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.resize(404, 233)
Dialog.setStyleSheet("QDialog {\n"
"background: #3d3a39;\n"
"}")
self.label = QtWidgets.QLabel(Dialog)
self.label.setGeometry(QtCore.QRect(10, -60, 331, 161))
font = QtGui.QFont()
#? font.setPointSize(-1)
font.setBold(True)
font.setWeight(75)
self.label.setFont(font)
self.label.setStyleSheet("QLabel {\n"
"font-size:18px;\n"
"color: #a65a3a;\n"
"}")
self.label.setObjectName("label")
self.lineEdit = QtWidgets.QLineEdit(Dialog)
self.lineEdit.setGeometry(QtCore.QRect(10, 90, 141, 41))
font = QtGui.QFont()
font.setPointSize(12)
font.setBold(True)
font.setWeight(75)
self.lineEdit.setFont(font)
self.lineEdit.setStyleSheet("QLineEdit {\n"
"background: #5c5856;\n"
"border-color:#ffffff;\n"
"border-radius:8px;\n"
" border: 3px solid #a65a3a;\n"
"color:#e5d7d1;\n"
"}")
self.lineEdit.setObjectName("lineEdit")
self.line = QtWidgets.QFrame(Dialog)
self.line.setGeometry(QtCore.QRect(0, 30, 401, 31))
self.line.setStyleSheet("Line {\n"
"height:200px;\n"
"\n"
"}")
self.line.setFrameShape(QtWidgets.QFrame.HLine)
self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line.setObjectName("line")
self.label_2 = QtWidgets.QLabel(Dialog)
self.label_2.setGeometry(QtCore.QRect(10, 60, 211, 20))
font = QtGui.QFont()
#? font.setPointSize(-1)
font.setBold(True)
font.setWeight(75)
self.label_2.setFont(font)
self.label_2.setStyleSheet("QLabel {\n"
"font-size:14px;\n"
"color: #a65a3a;\n"
"}")
self.label_2.setObjectName("label_2")
self.textBrowser = QtWidgets.QTextBrowser(Dialog)
self.textBrowser.setGeometry(QtCore.QRect(10, 180, 141, 41))
font = QtGui.QFont()
font.setPointSize(12)
font.setBold(True)
font.setWeight(75)
self.textBrowser.setFont(font)
self.textBrowser.setStyleSheet("QTextBrowser {\n"
"background: #5c5856;\n"
"border-color:#ffffff;\n"
"border-radius:8px;\n"
" border: 3px solid #a65a3a;\n"
"color:#e5d7d1;\n"
"}")
self.textBrowser.setObjectName("textBrowser")
self.label_3 = QtWidgets.QLabel(Dialog)
self.label_3.setGeometry(QtCore.QRect(10, 150, 211, 20))
font = QtGui.QFont()
#? font.setPointSize(-1)
font.setBold(True)
font.setWeight(75)
self.label_3.setFont(font)
self.label_3.setStyleSheet("QLabel {\n"
"font-size:14px;\n"
"color: #a65a3a;\n"
"}")
self.label_3.setObjectName("label_3")
self.pushButton = QtWidgets.QPushButton(Dialog)
self.pushButton.setGeometry(QtCore.QRect(160, 180, 41, 41))
self.pushButton.setStyleSheet("QPushButton {\n"
"background: #5c5856;\n"
"border-color:#ffffff;\n"
"border-radius:8px;\n"
" border: 3px solid #a65a3a;\n"
"color:#e5d7d1;\n"
"}\n"
"QPushButton:hover {\n"
"background: #757473;\n"
"border-color:#ffffff;\n"
"border-radius:8px;\n"
" border: 3px solid #a65a3a;\n"
"color:#e5d7d1;\n"
"}\n"
"QPushButton:pressed {\n"
"background: #757473;\n"
"border-color:#ffffff;\n"
"border-radius:8px;\n"
" border: 5px solid #a65a3a;\n"
"color:#e5d7d1;\n"
"font-size:8px;\n"
"}")
self.pushButton.setObjectName("pushButton")
self.label_4 = QtWidgets.QLabel(Dialog)
self.label_4.setGeometry(QtCore.QRect(340, 0, 55, 41))
font = QtGui.QFont()
#? font.setPointSize(-1)
font.setBold(True)
font.setWeight(75)
self.label_4.setFont(font)
self.label_4.setStyleSheet("QLabel {\n"
"font-size:18px;\n"
"color: #a65a3a;\n"
"}")
self.label_4.setObjectName("label_4")
self.retranslateUi(Dialog)
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):
_translate = QtCore.QCoreApplication.translate
Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
self.label.setText(_translate("Dialog", "Нынешний курс доллара в рублях"))
self.lineEdit.setText(_translate("Dialog", ""))
self.label_2.setText(_translate("Dialog", "Введите число в долларах:"))
self.textBrowser.setHtml(_translate("Dialog", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:\'MS Shell Dlg 2\'; font-size:12pt; font-weight:600; font-style:normal;\">\n"
"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><br /></p></body></html>"))
self.label_3.setText(_translate("Dialog", "В рублях это:"))
self.pushButton.setText(_translate("Dialog", "Press"))
self.label_4.setText(_translate("Dialog", ":"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Dialog = QtWidgets.QDialog()
ui = Ui_Dialog()
ui.setupUi(Dialog)
Dialog.show()
def get():
DOLL = 'https://www.google.com/search?q=%D0%BA%D1%83%D1%80%D1%81+%D0%B4%D0%BE%D0%BB%D0%BB%D0%B0%D1%80%D0%B0+%D0%B2+%D1%80%D1%83%D0%B1%D0%BB%D1%8F%D1%85&oq=&aqs=chrome.2.69i59l8.1415620j0j7&sourceid=chrome&ie=UTF-8'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36'}
full_page = requests.get(DOLL, headers=headers)
soup = BeautifulSoup(full_page.content, 'html.parser')
convert = soup.findAll("span", {"class": "DFlfde SwHCTb"})
# +++ vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
#print(f'float(convert[0].text) --- {convert[0].text}')
num = float(convert[0].text.replace(',', '.' )) # + .replace(',', '.' )
a = ui.lineEdit.text()
# b = str(num) * int(a)
b = num * int(a) # +++
# g = str(num) * int(1)
g = str(num) # - * int(1)
# ui.textBrowser.setText(b)
# так
#ui.textBrowser.setText(str(b)) # +++
# лучше так
ui.textBrowser.setText(f'{b:.2f}') # +++
# ++ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ui.label_4.setText(g)
ui.pushButton.clicked.connect(get)
sys.exit(app.exec_())
