我正在创建一个看起来像这样的菜单
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的初学者。我需要帮助。我不希望你们为我做所有这些,因为我知道你不应该这样做,你只是来帮助像我这样的人。
提前致谢!
答案 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))