所以我正在创建一个游戏,基本上它会问人们一些问题,比如他们想回答什么类型的问题,有多少他们想回答,什么不想回答。我在弄清楚如何随机进行数学运算(例如加法、乘法和减法)时遇到了问题。这是我的整个代码,但我唯一需要帮助的部分是它说“混合”的地方,因为我需要弄清楚如何混合这三个操作。
import random
correct = 0
while True:
questions = int(input("Enter the amount of questions would you like to answer: "))
difficulty = input("Enter the difficulty of questions you would like: Beginner, Intermediate, or Advanced: ")
math = input("Would you like to do addition, subtraction, multiplication, or mixed: ")
if difficulty == "Beginner":
for i in range(questions):
if math == "multiplication":
beg1 = random.randint(1, 10)
beg2 = random.randint(1, 10)
prod = beg1 * beg2
begAns = input("What is " + str(beg1) + " times " + str(beg2) + "? ")
if int(begAns) == prod:
print("That's right -- well done.\n")
correct += 1
else:
print("No, I'm afraid the answer is ",prod)
elif math == "subtraction":
beg1 = random.randint(1, 10)
beg2 = random.randint(1, 10)
prod = beg1 - beg2
begAns = input("What is " + str(beg1) + " minus " + str(beg2) + "? ")
if int(begAns) == prod:
print("That's right -- well done.\n")
correct += 1
else:
print("No, I'm afraid the answer is ",prod)
elif math == "addition":
beg1 = random.randint(1, 10)
beg2 = random.randint(1, 10)
prod = beg1 + beg2
begAns = input("What is " + str(beg1) + " plus " + str(beg2) + "? ")
if int(begAns) == prod:
print("That's right -- well done.\n")
correct += 1
else:
print("No, I'm afraid the answer is ",prod)
elif math == "mixed":
beg1 = random.randint(1, 10)
beg2 = random.randint(1, 10)
prod = beg1 * beg2
begAns = input("What is " + str(beg1) + " times " + str(beg2) + "? ")
if int(begAns) == prod:
print("That's right -- well done.\n")
correct += 1
else:
print("No, I'm afraid the answer is ",prod)
elif difficulty == "Intermediate":
for i in range(questions):
if math == "multiplication":
intermediate1 = random.randint(1, 25)
intermediate2 = random.randint(1, 25)
prod = intermediate1 * intermediate2
intAns = input("What is " + str(intermediate1) + " times " + str(intermediate2) + "? ")
if int(intAns) == prod:
print("That's right -- well done.\n")
correct += 1
else:
print("No, I'm afraid the answer is ",prod)
elif math == "subtraction":
intermediate1 = random.randint(1, 25)
intermediate2 = random.randint(1, 25)
prod = intermediate1 - intermediate2
intAns = input("What is " + str(intermediate1) + " minus " + str(intermediate2) + "? ")
if int(intAns) == prod:
print("That's right -- well done.\n")
correct += 1
else:
print("No, I'm afraid the answer is ",prod)
elif math == "addition":
intermediate1 = random.randint(1, 25)
intermediate2 = random.randint(1, 25)
prod = intermediate1 + intermediate2
intAns = input("What is " + str(intermediate1) + " plus " + str(intermediate2) + "? ")
if int(intAns) == prod:
print("That's right -- well done.\n")
correct += 1
else:
print("No, I'm afraid the answer is ",prod)
elif math == "mixed":
intermediate1 = random.randint(1, 25)
intermediate2 = random.randint(1, 25)
prod = intermediate1 + intermediate2
intAns = input("What is " + str(intermediate1) + " times " + str(intermediate2) + "? ")
if int(intAns) == prod:
print("That's right -- well done.\n")
correct += 1
else:
print("No, I'm afraid the answer is ",prod)
elif difficulty == "Advanced":
for i in range(questions):
if math == "multiplication":
adv1 = random.randint(1, 100)
adv2 = random.randint(1, 100)
prod = adv1 * adv2
advAns = input("What is " + str(adv1) + " times " + str(adv2) + "? ")
if int(advAns) == prod:
print("That's right -- well done.\n")
correct += 1
else:
print("No, I'm afraid the answer is ",prod)
elif math == "subtraction":
adv1 = random.randint(1, 100)
adv2 = random.randint(1, 100)
prod = adv1 - adv2
advAns = input("What is " + str(adv1) + " minus " + str(adv2) + "? ")
if int(advAns) == prod:
print("That's right -- well done.\n")
correct += 1
else:
print("No, I'm afraid the answer is ",prod)
elif math == "addition":
adv1 = random.randint(1, 100)
adv2 = random.randint(1, 100)
prod = adv1 + adv2
advAns = input("What is " + str(adv1) + " plus " + str(adv2) + "? ")
if int(advAns) == prod:
print("That's right -- well done.\n")
correct += 1
else:
print("No, I'm afraid the answer is ",prod)
elif math == "mixed":
adv1 = random.randint(1, 100)
adv2 = random.randint(1, 100)
prod = adv1 + adv2
advAns = input("What is " + str(adv1) + " times " + str(adv2) + "? ")
if int(advAns) == prod:
print("That's right -- well done.\n")
correct += 1
else:
print("No, I'm afraid the answer is ",prod)
else:
print("Please enter Beginner, Intermediate, or Advanced.\n")
print("\nI asked you", questions, "questions. You got ", correct, " of them right.")
if correct / questions > 2/3:
print("Well done.\n")
elif correct / questions > 1/3:
print("You need more practice.\n")
else:
print("Please ask your math teacher for help!\n")
restart = input("Would you like to play again? Y/N: ")
if restart == "Y":
continue
elif restart == "N":
break
else:
print("Please Enter Y or N")
请您参考如下方法:
随机选择 +、- 或 * 之一并将其应用于两个数字:
import random
from operator import add, sub, mul
ops = (add, sub, mul)
op = random.choice(ops)
beg1, beg2 = random.randint(1,10), random.randint(1,10)
ans = op(beg1, beg2)
