python - 在函数中保存信息 | Python
问题描述
我正在制作一个用户应该写答案的游戏(question() 函数)。在问题函数中,如果用户的答案错误或正确,我使用 1 和 0 的变量来获取信息。我还使用 1 和 0 的变量来查看用户是否回答了问题。
def main():
menu()
anv_val = ber_val()
val(anv_val)
def menu():
print("1. game")
print("2. stat")
print("3. end")
def ber_val():
val = input("Your choice: ")
while val not in ["1", "2", "3"]:
print("Print 1, 2 or 3.")
val = input("Your choice: ")
return val
def val(anv_val):
if (anv_val == "1"):
res = game()
return res
elif (anv_val == "2"):
res = game()
return stat(res)
else:
return end()
def question(quest, solu):
print(quest)
answer = input("Your answer: ")
a_s = 1
a_f = 0
while (answer != solu):
a_f = 1
print("Try again")
answer = input("Your answer: ")
print("Correct!")
a_f_s = [a_f, a_s]
return a_f_s
def game():
a_1 = question("Your name?", "Ricky")
a_2 = question("Your name?", "Rong")
a_3 = question("Your name?", "Bolly")
sum_f = a_1[0] + a_2[0] + a_3[0]
sum_s = a_1[1] + a_2[1] + a_3[1]
sum_all = [sum_f, sum_s]
return sum_all, main()
def stat(res): # Here I get the error message
print("Questions you answered: " + str(res[1]))
print("Wrong times: " + str(res[0]))
return main()
main()
现在到我的问题。在函数 game() 中,我想返回名为 a_f_s 的变量,并在我的函数 stat() 中使用信息(信息是错误数和已回答的问题)。但问题是在函数 val(anv_val) - 如果用户打印“2”,函数 game() 将运行,但我希望 stat() 运行。我有点困惑。
我感谢所有的帮助!
解决方案
推荐阅读
- c - 在 C 中将负整数转换为更大的无符号整数
- camera - 将一个盒子从世界投影到图像平面
- r - gsub() 无法识别和替换某些重音字符
- python - 清理列标题的更有效或“pythonic”方式是什么?
- ios - NSFetchRequest 与 NSAsynchronousFetchRequest 性能对比
- python - 从日期中删除“加号”歌曲
- python-3.x - Is there a safe way to safely delete a Model field in Django?
- dart - Dart 在类中使用实例
- node.js - 无法使用heroku将cookie发送到后端
- javascript - 请帮我在 react.js 中创建一个图像滑块?