我想以数字的形式从程序中的用户那里接收数据,但我不知道为什么会出错
self.InputTotal = QtWidgets.QLineEdit(Form)
self.InputTotal.setGeometry(QtCore.QRect(60, 20, 141, 31))
self.InputTotal.setObjectName("InputTotal")
chkinput = self.InputTotal.text()只需要电话号码。
if int(chkinput) == 0:
ranger = 1000
else:
ranger = chkinput
for i in range(ranger):
self.btn_eth.clicked.connect(self.Generator)发布于 2022-09-18 14:45:07
您面临的问题是,当您运行if int(chkinput) == 0时,它所做的只是检查转换为整数的chkinput变量是否等于零。它实际上并不将chkinput值转换为整数。
为此,您需要将转换后的值重新分配给变量名,如:chkinput = int(chkinput)。
因此,当前,当chkinput不等于0时,将字符串值赋值给else子句中的ranger变量,这将在尝试将其用作范围时抛出一个错误。
您还应该添加一些额外的错误检查,这样您就不会遇到更多的问题。例如,您可以检查文本不是空字符串,然后使用.isdigit()方法检查内容是否为数字,然后如果返回true,则知道使用int构造函数时不引发错误是安全的。
chkinput = self.InputTotal.text()
if len(chkinput) > 0 and chkinput.strip().isdigit():
chkinput = int(chkinput)
if chkinput == 0:
ranger = 1000
else:
ranger = chkinput
for i in range(ranger):
self.btn_eth.clicked.connect(self.Generator)https://stackoverflow.com/questions/73763476
复制相似问题