首页 > 解决方案 > 在 python 中,它显示 ValueError: invalid literal for int() with base 10: ''?

问题描述

n = int(input("enter nos of items in List: "))
a = []
for i in range(0,n):
    elements = int(input("Enter Elements : "))
    a.append(elements)
    avg = sum(a)/n
print("average of given numbers", round(avg,2))

标签: pythonarraylistintegervalueerror

解决方案


我建议使用 while 循环验证用户输入,您可以检查答案是否仅包含数字,如果不包含,则循环重复,直到用户输入有效输入。

n = input("enter nos of items in List: ")
while n.isdigit() != True:
    n = input("Invalid Input!\nEnter nos of items in List: ")

a = []
for i in range(0, int(n)):
    elements = input("Enter Elements : ")
    while elements.isdigit() != True:
        elements = input("Invalid Input!\nEnter Elements : ")
    
    a.append(int(elements))
    
avg = sum(a)/int(n)
print("average of given numbers", round(avg,2))

ValueErros 可能是由于您尝试将包含字母字符的字符串转换为整数而导致的。


推荐阅读