分组 if-else 语句然后执行随机集合
Group if-else statement then execute a random set
我正在制作一个程序,该程序将生成一个随机的琐事测验,其中每个问题都包含 if-else 语句和变量。需要知道如何使用 import random 对每个集合进行分组并每次生成一个随机集合,或者如果有其他方法可以建议我。
我的代码:
c1 = 0
c2 = 0
while(1):
quiz1 = print("What is Prosciutto?")
q = input().lower()
if ("italian" in q) or ("dry" in q) or ("ham" in q):
print("Correct!")
c1 +=1
else:
print("Not quiet right, Prosciutto is Italian dry-cured ham")
c2 +=1
input("Press Enter to continue...")
quiz2 = print("What is the capital of the US state of Alabama?")
q = input().lower()
if "montgomery" in q:
print("Correct!")
c1 +=1
else:
print("Nope, Montgomery, it is.")
c2 +=1
input("Press Enter to continue...")
quiz3 = print("Which planet spins on a nearly horizontal axis?")
q = input().lower()
if "uranus" in q:
print("Correct!")
c1 +=1
else:
print("Actually it is Uranus!")
c2 +=1
input("Press Enter to continue...")
quiz4 = print("Who invented writing?")
q = input().lower()
if "sumerian" in q:
print("Correct!")
c1 +=1
else:
print("Nope, the Sumerians invented writing")
c2 +=1
input("Press Enter to continue...")
quiz5 = print("What rapper was born Marshall Bruce Mathers III?")
q = input().lower()
if "eminem" in q:
print("Correct!")
c1 +=1
else:
print("He's Eminem")
c2 +=1
input("Trivia ended, Press Enter to view your result...")
break
print("You've made", c1, "corrects answers and ", c2, "wrong answers")
用 key = question 和 value = answers 创建一个字典,同时列出所有问题。然后导入 random 和 randint 一个介于 0 和 len(question_list) 之间的数字,并向用户显示该问题 - 并检查他的答案是否是字典中的值,其中键是给定的问题。就在我的头顶
首先分解出经常出现的 "ask a question and check answer" 模式:
def handle(question, answer, err):
print(question)
a = input().lower()
if a in answer:
print("Correct!")
return True
else:
print(err)
return False
然后定义你的 questions/answers/err :
QUIZZES = [
("What is Prosciutto?", ("italian","cured","dryed","ham"), "Not quiet right, Prosciutto is Italian dry-cured ham"),
("What is the capital of the US state of Alabama?", ("montgomery",), "Nope, Montgomery, it is."),
# etc
]
然后你只需要一个 main 函数来 运行 整个事情:
def main():
good = 0
wrong = 0
for question, answers, err in QUIZZES:
ok = handle(question, answers, err)
if ok:
good += 1
else:
wrong += 1
input("Trivia ended, Press Enter to view your result...")
print("You've made {} corrects answers and {} wrong answers".format(good, wrong))
一旦你在那里,添加随机化只是在 QUIZZES
...
上调用 random.choice()
的问题
我正在制作一个程序,该程序将生成一个随机的琐事测验,其中每个问题都包含 if-else 语句和变量。需要知道如何使用 import random 对每个集合进行分组并每次生成一个随机集合,或者如果有其他方法可以建议我。
我的代码:
c1 = 0
c2 = 0
while(1):
quiz1 = print("What is Prosciutto?")
q = input().lower()
if ("italian" in q) or ("dry" in q) or ("ham" in q):
print("Correct!")
c1 +=1
else:
print("Not quiet right, Prosciutto is Italian dry-cured ham")
c2 +=1
input("Press Enter to continue...")
quiz2 = print("What is the capital of the US state of Alabama?")
q = input().lower()
if "montgomery" in q:
print("Correct!")
c1 +=1
else:
print("Nope, Montgomery, it is.")
c2 +=1
input("Press Enter to continue...")
quiz3 = print("Which planet spins on a nearly horizontal axis?")
q = input().lower()
if "uranus" in q:
print("Correct!")
c1 +=1
else:
print("Actually it is Uranus!")
c2 +=1
input("Press Enter to continue...")
quiz4 = print("Who invented writing?")
q = input().lower()
if "sumerian" in q:
print("Correct!")
c1 +=1
else:
print("Nope, the Sumerians invented writing")
c2 +=1
input("Press Enter to continue...")
quiz5 = print("What rapper was born Marshall Bruce Mathers III?")
q = input().lower()
if "eminem" in q:
print("Correct!")
c1 +=1
else:
print("He's Eminem")
c2 +=1
input("Trivia ended, Press Enter to view your result...")
break
print("You've made", c1, "corrects answers and ", c2, "wrong answers")
用 key = question 和 value = answers 创建一个字典,同时列出所有问题。然后导入 random 和 randint 一个介于 0 和 len(question_list) 之间的数字,并向用户显示该问题 - 并检查他的答案是否是字典中的值,其中键是给定的问题。就在我的头顶
首先分解出经常出现的 "ask a question and check answer" 模式:
def handle(question, answer, err):
print(question)
a = input().lower()
if a in answer:
print("Correct!")
return True
else:
print(err)
return False
然后定义你的 questions/answers/err :
QUIZZES = [
("What is Prosciutto?", ("italian","cured","dryed","ham"), "Not quiet right, Prosciutto is Italian dry-cured ham"),
("What is the capital of the US state of Alabama?", ("montgomery",), "Nope, Montgomery, it is."),
# etc
]
然后你只需要一个 main 函数来 运行 整个事情:
def main():
good = 0
wrong = 0
for question, answers, err in QUIZZES:
ok = handle(question, answers, err)
if ok:
good += 1
else:
wrong += 1
input("Trivia ended, Press Enter to view your result...")
print("You've made {} corrects answers and {} wrong answers".format(good, wrong))
一旦你在那里,添加随机化只是在 QUIZZES
...
random.choice()
的问题