我正在使用Python 3.2只是让你知道我在做什么,这是作业: 〜随机模块中的函数random.randint可用于从一系列值中生成整数。例如,random.randint(1,6)以相等的概率产生值1到6。一个简单的辅导程序可以随机选择0到12之间的两个数字并提出如下问题:什么是6次8?收到用户响应后,计算机会检查答案是否正确并给出令人鼓舞的评论。编写一个程序,循环10次,生成此表单的问题,并在最后为用户提供分数。
以下是我的计划中的内容:
print ("Hello. Let's begin")
for i in range (1,10):
from random import randint
x=randint (0,12)
y=randint (0,12)
print (x,"*" y,"=?")
product= int(input ("What is the product?")
if (product==x*y):
print ("Awesome! That is correct!")
else:
print ("Sorry, that is not correct, but let's try another one!")
我掌握了所有这一切。它向用户询问随机乘法问题并响应十次。我不明白该怎么做就是在最后给用户一个分数。我是头脑风暴的想法,并没有多少真的有效。我想我必须做类似的事情:
score=
但我不知道如何告诉程序计算正确答案的数量......我说得分=如果是?
然后当我打印得分时我可以说:
if (score>5) :
print: ("Great job! You scored a",score,"out of ten!")
else:
print: ("Not the best score, but you can try again! You scored a",score,"out of ten.")
或者有更简单的方法可以做到这一点吗?
答案 0 :(得分:1)
似乎最简单的方法是创建一个新变量(“得分”或类似)并在循环之前将其初始化为0。然后,当您检查用户是否正确时,如果它是正确的,只需将其递增1,如果错误,则将其保持不变。
希望这有帮助!
答案 1 :(得分:0)
首先,将分数设为0
score = 0
然后在循环中尝试类似
的内容 if (product==x*y):
print ("Awesome! That is correct!")
score += 1
else:
print ("Sorry, that is not correct, but let's try another one!")
重要的部分是score += 1
,当你得到正确答案时,这会使得分增加1。您可以在循环后放入score > 5
。