Python老虎机(Slot Game)代码输出None问题求助
问题排查与解决
你的代码出现None None的原因是两个函数的return语句位置错误:
deposit()和get_number_of_lines()的return语句都缩进在else分支里,只有当输入非数字时才会返回值;- 当输入合法数值(比如200、3),循环正常break后,函数没有执行return语句,Python会默认返回
None。
修正后的代码
MAX_LINES = 3 def deposit(): while True: amount = input("What would you like to deposit? $") if amount.isdigit(): amount = int(amount) if amount > 0: break else: print("Amount must be greater than 0.") else: print("Please enter a number.") # 循环结束后返回合法金额,移到else块外面 return amount def get_number_of_lines(): while True: lines = input("Enter the number of lines to bet on (1-" + str(MAX_LINES) + ")? ") if lines.isdigit(): lines = int(lines) if 1 <= lines <= MAX_LINES: break else: print("Enter a valid number of lines.") else: print("Please enter a number.") # 循环结束后返回合法线数,移到else块外面 return lines def main(): balance = deposit() lines = get_number_of_lines() print(balance, lines) main()
测试结果
输入存款200、选择3条线后,终端会正确输出:
200 3
内容的提问来源于stack exchange,提问作者Nelly
相关产品推荐
相关产品推荐

