你有一个任务要解决(数学)。 -没有低于零的解 -没有带小数位数的解决方案的任务
当循环第一次运行时,一切正常。但在第一个任务之后,它会发送以下错误:
文件“.\任务”发电机.py“,第43行,in 输入=输入() TypeError:“str”对象不可调用
用户输入有什么问题?你知道吗
我试图重组整个输入部分。但是整个代码都不起作用。你知道吗
import random
score = 0
#Loop
loop = True
while loop == True:
tasksolution = None
#Task generation
badtask = True
while badtask == True:
nums = list(range(1, 101))
ops = ["+", "-", "/", "x"]
num1 = str(random.choice(nums))
num2 = str(random.choice(nums))
operator = random.choice(ops)
task = str(num1 + operator + num2)
#Tasksolution
def add(x, y):
return x + y
def subtract(x, y):
return x - y
def multiply(x, y):
return x * y
def divide(x, y):
return x / y
if operator == "+":
tasksolution = round(add(int(num1), int(num2)), 1)
elif operator == "-":
tasksolution = round(subtract(int(num1), int(num2)), 1)
elif operator == "x":
tasksolution = round(multiply(int(num1), int(num2)), 1)
elif operator == "/":
tasksolution = round(divide(int(num1), int(num2)), 1)
if tasksolution >= 0 and (tasksolution % 2 == 0 or tasksolution % 3 == 0):
badtask = False
#User input
print("Task: " + task)
input = input()
#Input check
if str.isdigit(input):
if int(input) == tasksolution:
print("Correct!")
score + 1
elif not int(input) == tasksolution:
print("Wrong!")
print("The correct solution: " + str(tasksolution))
print("You´ve solved " + str(score) + " tasks!")
break
else:
print("Something went wrong :(")
else:
print("Please enter a number!")
break
循环应该在不中断的情况下运行,除非输入错误的解决方案。你知道吗
您不知不觉地重写了内置函数
input
。将该行更改为:。。。以及所有未来对该变量的引用。你知道吗
相关问题 更多 >
编程相关推荐