Python while循环出现ValueError如何添加非法输入友好提示
优化方案
你需要使用Python的try-except异常捕获结构处理输入转数字时的错误,优化后代码如下:
summation = 0 while True: user_input = input("Enter your input \n") if user_input == "done": break try: num = float(user_input) summation += num print("End \n", "SUMMATION = ", summation) except ValueError: print("*错误提示:输入内容非法,请输入数字或者终止指令done*")
改动说明
- 移除了原有else分支,将输入转换、累加、结果打印的逻辑放入
try代码块中 - 当输入内容无法转换为float类型时,会触发
ValueError异常,此时程序会执行except代码块中的错误提示逻辑,不会中断运行 - 原有输入
done终止程序、合法数字累加的逻辑完全保留,不受影响
内容的提问来源于stack exchange,提问作者Erfan
相关产品推荐
相关产品推荐

