ランダム方程式を使ってPythonで数学クイズを作成する同じことを二度尋ねるのを止める方法はわかりません。
プログラムは、それぞれが乱数を使用して、加算、減算、または掛け算のリストから10の質問を求めます。私は10の質問を無作為にすることに成功しましたが、同じ2つの数字を2回選ぶのを止める方法はわかりません。たとえば、1つの質問に対して1 + 3が選択されますが、同じ質問が複数回繰り返されます。コードは次のとおりです。同じことを二度尋ねるのを止めるプログラムですか?
import random
#Asks for name
name = input("What's your name?")
#Stops user from entering invalid input when entering their class
classchoices = ["A","B","C"]
classname = input("What class are you in?")
while classname not in classchoices:
classname = input("Not a valid class, try again:")
print(name, ",", classname)
print("Begin quiz!")
questions = 0
def add(a,b):
addQ = int(input(str(a) + "+" + str(b) + "="))
result = int(int(a) + int(b))
if addQ != result:
print ("Incorrect!", result)
else:
print("Correct")
a = random.randint(1,12)
b = random.randint(1,12)
def multiply(a,b):
multQ = int(input(str(c) + "X" + str(d) + "="))
results = int(int(c) * int(d))
if multQ != results:
print ("Incorrect! The answer is", results)
else:
print("Correct")
c = random.randint(1,12)
d = random.randint(1,12)
def subtract(a,b):
subQ = int(input(str(e) + "-" + str(f) + "="))
resultss = int(int(e) - int(f))
if subQ != resultss:
print ("Incorrect! The answer is", resultss)
else:
print("Correct")
e = random.randint(1,12)
f = random.randint(1,12)
while questions in range(10):
Qlist = [add, subtract, multiply]
random.choice(Qlist)(a,b)
questions += 1
if questions == 10:
print ("End of quiz")
ご協力いただきありがとうございます。 、あなたのadd
関数は常に常にc
とd
を使用しますa
とb
、multiply
を使用します。ここで