运行Python掷骰子代码时持续弹出None值问题求助
Python掷骰子代码弹出None的问题排查与解决
问题原因分析
- 语句格式错误:原代码中把赋值语句和print语句写在同一行且未分隔,同时F-string未正确包裹变量,导致语法问题和输出异常。
- input函数误用print:
input()的参数应该是提示字符串,而你传入了print()的返回值(print()执行后返回None),这直接导致了每次都会输出None。另外字符串转小写的方法名写错,Lower()应为lower()。
修正后的代码
import random print("Dice Roll!") while True: roll = random.choice(range(1, 7)) print(f"{roll} came up!") x = input("Roll dice again? (Y/N): ").lower() if x != "y": exit(0)
关键修正点说明
- 将赋值语句和print语句拆分为两行,保证语法正确。
- F-string中用
{roll}包裹变量,正确输出骰子点数。 - 直接将提示字符串传入
input(),移除多余的print()调用,避免输出None。 - 将
Lower()修正为lower(),确保字符串转小写方法能正常执行。
内容的提问来源于stack exchange,提问作者Nishith Shetty
相关产品推荐
相关产品推荐

