多项选择答案无效

时间:2013-07-01 06:59:05

标签: python

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

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的初学者。我需要帮助。我不希望你们为我做所有这些,因为我知道你不应该这样做,你只是来帮助像我这样的人。

提前致谢!

2 个答案:

答案 0 :(得分:0)

您可以将答案放入list,然后使用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

答案 1 :(得分: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))