Python while true循环未达到 "except ValueError"

标签 python python-3.x

我不确定代码有什么问题,因为我才刚刚开始使用 python,但是当输入错误值时,它会输出“ValueError: 无法将字符串转换为 float :'(Error value)'” ”。但是我希望它输出“无效字符。请重试。”然后为了让循环从头开始继续,我无法弄清楚我可以更改什么,因此对所需内容的解释也很好。

ListOfNumbers = []
while True:
  Number = float(input("Enter a number >>"))
  if Number == 0:
    print ("End.")
    break
  try:
    ListOfNumbers.append(int(Number))
    Average = float(sum(ListOfNumbers))/len(ListOfNumbers)
  except ValueError:
    print ("Invalid Character/s. Please Try Again.")
    continue
print ("The total value is", sum(ListOfNumbers))
print ("The average value is", Average)
print ("The highest value is", max(ListOfNumbers))
print ("The lowest value is", min(ListOfNumbers))
ListOfNumbers.sort()
print ("List of numbers", ListOfNumbers)

最佳答案

ValueError 是接受输入的行抛出的异常。移动 try block 以捕获异常。

while True:
   try:
      Number = float(input("Enter a number >>"))
      if Number == 0:
         print ("End.")
         break
      ListOfNumbers.append(int(Number))
      Average = float(sum(ListOfNumbers))/len(ListOfNumbers)
   except ValueError:
      print ("Invalid Character/s. Please Try Again.")
      continue

关于Python while true循环未达到 "except ValueError",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46454254/

相关文章:

python - 如何在 python 或 matplotlib 中为非常小的值绘制条形图?

python - 这里 "if False:"的作用是什么?

Python 数据帧 : find previous row's value before a specific value with same value in other columns

python - 为什么 python 中的元素树在 XML 中添加额外的新行和空格

python - 来自 Python 的 QPX Express API

python - python 输出中的字体格式

javascript - 上传 CSV 文件并在 Bokeh Web 应用程序中阅读

列表列表的Python列表

python - setUpClass 失败时如何清理 Python 单元测试?

python - 网站.py : AttributeError: 'module' object has no attribute 'ModuleType' upon running any python file in PyCharm