python - 什么是值错误?
问题描述
我有一个接受用户输入的简单 python 脚本:
limit=int(input())
answer=1
a=[]
for i in range(limit):
data=int(input())
a.append(data)
for j in a:
answer = answer*j+10**9+7
print(answer)
当我运行它时,我不断收到类似这样的错误。
Execution failed.
ValueError: could not convert string to float : '1 2 3 4 5'
Stack Trace:
Traceback (most recent call last):
File "/hackerearth/PYTHON3_12/s_0b.py3", line 5, in
data=int(float(input()))
ValueError: could not convert string to float: '1 2 3 4 5'
什么是 aValueError
以及如何解决此问题?
解决方案
您需要一次解析每个数字。您试图一次输入所有数字,但这是行不通的。尝试这个:
limit=int(input())
answer=1
a=[]
numbers = input()
toParse = numbers.split(' ') #breaks input string into individual numbers
for i in range(toParse):
data=int(toParse[i])
a.append(data)
for j in a:
answer = answer*j+10**9+7
print(answer)
我将您的代码更改为 1)在循环之前输入输入数字,然后 2)将它们拆分为一个列表,其中每个元素都是原始字符串中的数字之一,3)然后可以将其解析为循环中的数据。