python - Python,循环 - 代码结果与预期结果不匹配
问题描述
我正在尝试为数学的基本加法(+)制作一个程序。我的代码如下:
import random
Totalrounds = input("Input how many rounds you want try? ")
answerlist = list()
for i in range(0, int(Totalrounds)):
numb1 = random.randint(0,9)
numb2 = random.randint(0,9)
print(numb1, "+" , numb2,)
Answer = int(input("Your answer is? " ))
if Answer == numb1 + numb2 :
print("Your answer is correct")
print()
else:
print("Your answer is wrong")
print("the right answer is ", numb1 + numb2)
print()
answerlist.append(Answer)
#Result
print("this is your Answersheet from" ,Totalrounds, "question")
for i in range(0, len(answerlist)):
if answerlist[i] == numb1 + numb2 :
Result1 = "correct"
print (numb1, "+" , numb2, "=" ,answerlist[i], Result1 ,)
else:
Result1 = "wrong"
print (numb1, "+" , numb2, "=" ,answerlist[i], Result1 ,)
如果我将总轮数放在 5 左右,在#result 打印上,问题 1 - 4 的数字将与上面的列表不同。谁能告诉我我在这段代码中做错了什么,我该怎么做才能让它像上面的问题一样?问题 = numb1 "+" numb2
谢谢你的帮助
解决方案
在您的代码中有几件事是有问题的或与样式相关的。
在第二个for
循环中,您尝试访问numb1
/numb2
但它们不相关,因为第一个for
循环的每次迭代都会更改它们,因此为了克服这个问题,您还需要存储它们。
无需设置range
从 0 开始,这是默认值。
启动时list
不需要做list()
就[]
足够了。
对您的代码的更正如下:
import random
Totalrounds = input("Input how many rounds you want try? ")
answerlist = []
numb1_list = []
numb2_list = []
for i in range(int(Totalrounds)):
numb1 = random.randint(0,9)
numb1_list.append(numb1)
numb2 = random.randint(0,9)
numb2_list.append(numb2)
print(numb1, "+" , numb2,)
Answer = int(input("Your answer is? " ))
if Answer == numb1 + numb2 :
print("Your answer is correct")
print()
else:
print("Your answer is wrong")
print("the right answer is ", numb1 + numb2)
print()
answerlist.append(Answer)
#Result
print("this is your Answersheet from" ,Totalrounds, "question")
for i in range(len(answerlist)):
if answerlist[i] == numb1_list[i] + numb2_list[i] :
Result1 = "correct"
print (numb1_list[i], "+" , numb2_list[i], "=" ,answerlist[i], Result1 ,)
else:
Result1 = "wrong"
print (numb1_list[i], "+" , numb2_list[i], "=" ,answerlist[i], Result1 ,)
推荐阅读
- c++ - 如何在 3 次尝试输入密码后终止我的 cpp 程序?
- python - Convert a list of astropy Table in a numpy array of astropy Table
- angular - Angular One way Binding and Observables
- php - How to Remove Background from an image and make it transparent (without using any 3rd party plugins)?
- swift - In iOS 15, 'throwing -10878' occurs many times when connecting AVAudioPlayerNode to mainMixerNode
- java - GLCapabilities 没有在 eclispe OpenGL 中正确导入。错误:java.lang.NoClassDefFoundError:com/jogamp/opengl/GLCapabilitiesImmutable
- html - 当父级宽度减小时,如何防止引导列折叠到新行?
- python - 如何使用 data-wipe-name 抓取 h2 标签?
- scala - Spark-Scala:当列表长度不同时,将列表的第一个元素与列表的每个其他元素映射
- antlr4 - 添加选项时出现意外的解析器行为(符号:'1' | '2';)