0

我正在创建一个看起来像这样的菜单

1-quit
2-multiplication
3-division

我似乎无法修复与此有关的错误random.randint

到目前为止我所做的:

iFirst= random.randint(1,10)
iSecond = random.randint (1,10)
import random
print(" Made by: Ahmed\n --------------------") 
print("1 - quit") 
print("2 - Multiplication")
print("3 - Division")

while 1: 
    choose=input("\n\t:") 
    if choose=="1": 
        break # we basically break the while loop so it stops 
    if choose=="2": 
        a=iFirst*iSecond
        print(str(iFirst) + "*" + str(iSecond))
        print("a") + (random.randint()1,10)
        print("a") + (random.randint()1,10)
        print("b") + (random.randint()1,10)
        print("c") + (str(a)   
    if choose =="3":

我正在努力做到这一点,如果我选择“2”,它会随机生成一个带有随机答案的乘法问题,所有时间都不同,真正的答案不会停留在某个字母上。例如。如果答案是“b”,那么下一个问题会有所不同。

我希望它有点像这样,但我不能,因为这对我来说太具有挑战性了。

5*4 = ?
a)10
b)32
c)20
d)42

我试图让它在每次我按 2 或我得到错误答案时随机化数字。从那里我可以做剩下的事情,但目前它给了我一个我无法弄清楚的错误,因为我是 Python 的初学者。我需要帮助。我不希望你们为我做这一切,因为我知道你们不是故意的,你们只是来帮助像我这样的人。

提前致谢!

4

2 回答 2

0

您可以将答案放入 alist然后使用random.shuffle()

>>> answers = [10, 32, 20, 42]
>>> import random
>>> random.shuffle(answers)
>>> for c, item in zip('abcd', answers):
...     print("{}) {}".format(c, item))
... 
a) 20
b) 32
c) 10
d) 42

shuffle 再次给出不同的顺序

>>> random.shuffle(answers)
>>> for c, item in zip('abcd', answers):
...     print("{}) {}".format(c, item))
... 
a) 32
b) 20
c) 42
d) 10
于 2013-07-01T07:03:56.633 回答
0

(random.randint()1,10)应该是random.randint(1,10)(就像你上面所说的那样)。您还应该将该import random行移到文件的顶部。

您还应该修复您的打印语句,这是一个更好的方法:

print('{}*{}'.format(iFirst,iSecond))
print('a) {}'.format(random.randint(1,10)))
print('b) {}'.format(random.randint(1,10)))
print('c) {}'.format(a))
于 2013-07-01T07:06:02.637 回答