Python 3.x 比较两个变量时,输出始终相同
这是我的10个问题的测试代码。问题是每当我写答案时(在提问前打印答案),答案总是说不正确。请考虑到我在语言方面非常糟糕,并且不纠正不需要纠正的内容。谢谢Python 3.x 比较两个变量时,输出始终相同,python-3.x,variables,output,Python 3.x,Variables,Output,这是我的10个问题的测试代码。问题是每当我写答案时(在提问前打印答案),答案总是说不正确。请考虑到我在语言方面非常糟糕,并且不纠正不需要纠正的内容。谢谢 from random import randint name = input("what is your name?") score = 0 qn = 0 def q(): global qn global name global score qn += 1 if qn < 11:
from random import randint
name = input("what is your name?")
score = 0
qn = 0
def q():
global qn
global name
global score
qn += 1
if qn < 11:
num1 = randint(1,12)
s = randint(1,3)
num2 = randint(1,12)
if s == 1:
symbal = '+'
answer = num1 + num2
elif s == 2:
symbal = '-'
answer = num1 - num2
elif s == 3:
symbal = '*'
answer = num1 * num2
print(answer)
print(num1 ,symbal ,num2)
sanswer = input("= ?")
if answer == sanswer:
score += 1
print("correct!!!")
else:
print("incorrect")
q()
else:
global name
print("""welldone""")
print(name)
q()
来自随机导入randint
name=输入(“你叫什么名字?”)
分数=0
qn=0
def q():
全球qn
全局名称
全球得分
qn+=1
如果qn<11:
num1=randint(1,12)
s=randint(1,3)
num2=randint(1,12)
如果s==1:
符号='+'
答案=num1+num2
elif s==2:
符号='-'
答案=num1-num2
elif s==3:
符号='*'
答案=num1*num2
打印(答案)
打印(num1、symbal、num2)
sanswer=输入(“=?”)
如果答案==sanswer:
分数+=1
打印(“正确!!!”)
其他:
打印(“不正确”)
q()
其他:
全局名称
打印(“干得好”)
印刷品(名称)
q()
来自随机导入randint
name=输入(“你叫什么名字?”)
分数=0
qn=0
def q():
全球qn
全局名称
全球得分
qn+=1
如果qn<11:
num1=randint(1,12)
s=randint(1,3)
num2=randint(1,12)
如果s==1:
符号='+'
答案=num1+num2
elif s==2:
符号='-'
答案=num1-num2
elif s==3:
符号='*'
答案=num1*num2
打印(num1、symbal、num2)
sanswer=int(输入(“=?”)
打印(答案)
如果答案==sanswer:
分数+=1
打印(“正确!!!”)
其他:
打印(“不正确”)
q()
其他:
全局名称
打印(“干得好”)
印刷品(名称)
q()
你有两个错误:
第一:您不应该在输入前放置打印(答案)
第二:您应该sanswer=int(输入(“=?”)
使用int(),因为您使用的输入是字符串
还有一个简单的建议,编码时尽量不要使用全局。这对我来说很好。。。
from random import randint
name = input("what is your name?")
score = 0
qn = 0
def q():
global qn
global name
global score
qn += 1
if qn < 11:
num1 = randint(1,12)
s = randint(1,3)
num2 = randint(1,12)
if s == 1:
symbal = '+'
answer = num1 + num2
elif s == 2:
symbal = '-'
answer = num1 - num2
elif s == 3:
symbal = '*'
answer = num1 * num2
print(num1 ,symbal ,num2)
sanswer = int(input("= ?"))
print(answer)
if answer == sanswer:
score += 1
print("correct!!!")
else:
print("incorrect")
q()
else:
global name
print("""welldone""")
print(name)
q()