为什么我的变量即使加1也不改变?

2024-10-03 06:26:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚完成我的代码,它有一个问题: 事实上,即使每次用户输入正确答案时,我都会向其中添加1,但其中一个变量的值并没有改变。我模拟了这个结果,并注意到在最后,当我调用我的变量时,它显示为0。 代码要求用户在40秒内回答20次乘法运算,最后,它会告诉用户他跳过了多少个问题,他回答了多少个好问题

import time

seconds = 40


def Timer(seconds, i):
    print("Start timer : 40s")
    for i in range(seconds):
        seconds -= 1
    if seconds == 0:
        print("End")
    time.sleep(1)


errorNumbers = 0
goodAnswers = 0

multi1 = "7*7"
multi2 = "3*6"
multi3 = "4*2"
multi4 = "8*2"
multi5 = "1*2"
multi6 = "9*6"
multi7 = "5*8"
multi8 = "6*4"
multi9 = "5*9"
multi10 = "3*4"
multi11 = "8*2"
multi12 = "6*5"
multi13 = "2*9"
multi14 = "1*1"
multi15 = "8*8"
multi16 = "5*9"
multi17 = "9*10"
multi18 = "4*7"
multi19 = "8*5"
multi20 = "6*6"
phraseRep = "what's the answer of"
rep1 = input(phraseRep + " " + multi1)
if rep1 == 49:
    rep2 = input(phraseRep + " " + multi2)
    goodAnswers += 1
elif rep1 == "":
    errorNumbers += 1
    rep2 = input(phraseRep + " " + multi2)
elif rep1 != 49:
    rep2 = input(phraseRep + " " + multi2)

if rep2 == 18:
    rep3 = input(phraseRep + " " + multi3)
    goodAnswers += 1
elif rep2 == "":
    rep3 = input(phraseRep + " " + multi3)
    errorNumbers += 1
elif rep2 != 18:
    rep3 = input(phraseRep + " " + multi3)

if rep3 == 8:
    rep4 = input(phraseRep + " " + multi4)
    goodAnswers += 1
elif rep3 == "":
    rep4 = input(phraseRep + " " + multi4)
    errorNumbers += 1
elif rep3 != 8:
    rep4 = input(phraseRep + " " + multi4)

if rep4 == 16:
    rep5 = input(phraseRep + " " + multi5)
    goodAnswers += 1
elif rep4 == "":
    rep5 = input(phraseRep + " " + multi5)
    errorNumbers += 1
elif rep4 != 16:
    rep5 = input(phraseRep + " " + multi5)

if rep5 == 2:
    rep6 = input(phraseRep + " " + multi6)
    goodAnswers += 1
elif rep5 == "":
    rep6 = input(phraseRep + " " + multi6)
    errorNumbers += 1
elif rep5 != 2:
    rep6 = input(phraseRep + " " + multi6)

if rep6 == 54:
    rep7 = input(phraseRep + " " + multi7)
    goodAnswers += 1
elif rep6 == "" :
    rep7 = input(phraseRep + " " + multi7)
    errorNumbers += 1
elif rep6 != 54:
    rep7 = input(phraseRep + " " + multi7)

if rep7 == 40:
    rep8 = input(phraseRep + " " + multi8)
    goodAnswers += 1
elif rep7 == "":
    rep8 = input(phraseRep + " " + multi8)
    errorNumbers += 1
elif rep7 != 40:
    rep8 = input(phraseRep + " " + multi8)


if rep8 == 24:
    rep9 = input(phraseRep + " " + multi9)
    goodAnswers += 1
elif rep8 == "":
    rep9 = input(phraseRep + " " + multi9)
    errorNumbers += 1
elif rep8 != 24:
    rep9 = input(phraseRep + " " + multi9)

if rep9 == 45:
    rep10 = input(phraseRep + " " + multi10)
    goodAnswers += 1
elif rep9 == "":
    rep10 = input(phraseRep + " " + multi10)
    errorNumbers += 1
elif rep9 != 45:
    rep10 = input(phraseRep + " " + multi10)

if rep10 == 12:
    rep11 = input(phraseRep + " " + multi11)
    goodAnswers += 1
elif rep10 == "":
    rep11 = input(phraseRep + " " + multi11)
    errorNumbers += 1
elif rep10 != 12:
    rep11 = input(phraseRep + " " + multi11)

if rep11 == 16:
    rep12 = input(phraseRep + " " + multi12)
    goodAnswers += 1
elif rep11 == "":
    rep12 = input(phraseRep + " " + multi12)
    errorNumbers += 1
elif rep11 != 16:
    rep12 = input(phraseRep + " " + multi12)

if rep12 == 30:
    rep13 = input(phraseRep + " " + multi13)
    goodAnswers += 1
elif rep12 == "":
    rep13 = input(phraseRep + " " + multi13)
    errorNumbers += 1
elif rep12 != 30:
    rep13 = input(phraseRep + " " + multi13)

if rep13 == 18:
    rep14 = input(phraseRep + " " + multi14)
    goodAnswers += 1
elif rep13 == "":
    rep14 = input(phraseRep + " " + multi14)
    errorNumbers += 1
elif rep13 != 18:
    rep14 = input(phraseRep + " " + multi14)

if rep14 == 1:
    rep15 = input(phraseRep + " " + multi15)
    goodAnswers += 1
elif rep14 == "":
    rep15 = input(phraseRep + " " + multi15)
    errorNumbers += 1
elif rep14 != 1:
    rep15 = input(phraseRep + " " + multi15)

if rep15 == 64:
    rep16 = input(phraseRep + " " + multi16)
    goodAnswers += 1
elif rep15 == "":
    rep16 = input(phraseRep + " " + multi16)
    errorNumbers += 1
elif rep15 != 64:
    rep16 = input(phraseRep + " " + multi16)


if rep16 == 45:
    rep17 = input(phraseRep + " " + multi17)
    goodAnswers += 1
elif rep16 == "":
    rep17 = input(phraseRep + " " + multi17)
    errorNumbers += 1
elif rep16 != 45:
    rep17 = input(phraseRep + " " + multi17)

if rep17 == 90:
    rep18 = input(phraseRep + " " + multi18)
    goodAnswers += 1
elif rep17 == "":
    rep18 = input(phraseRep + " " + multi18)
    errorNumbers += 1
elif rep17 != 90:
    rep18 = input(phraseRep + " " + multi18)


if rep18 == 28:
    rep19 = input(phraseRep + " " + multi19)
    goodAnswers += 1
elif rep18 == "":
    rep19 = input(phraseRep + " " + multi19)
    errorNumbers += 1
elif rep18 != 28:
    rep19 = input(phraseRep + " " + multi19)


if rep19 == 40:
    rep20 = input(phraseRep + " " + multi20)
    goodAnswers += 1
elif rep19 == "":
    rep20 = input(phraseRep + " " + multi20)
    errorNumbers += 1
elif rep19 != 40:
    rep20 = input(phraseRep + " " + multi20)

if rep20 == 36:
    goodAnswers += 1
elif rep20 == "":
    errorNumbers += 1
elif rep20 != 36:
    print("end")

print(goodAnswers)
print("You didn't answer to " + str(errorNumbers) + " questions.")
print("You have" + str(goodAnswers) + " good answers.")


Tags: inputifprintelifrep2rep3rep8rep7
1条回答
网友
1楼 · 发布于 2024-10-03 06:26:30

Python 3中的input()返回一个字符串,您正在将答案与数字进行比较。将它们与字符串进行比较,您应该可以。例如:

if rep1 == '49':
    # Here-^ ^
    rep2 = input(phraseRep + " " + multi2)
    goodAnswers += 1

相关问题 更多 >