我正在执行此作业:
一种新的格斗游戏变得很流行。有N个恶棍 每个人都有一些力量。游戏中有N个玩家 每个都有一些能量。能量被用来杀死恶棍。的 坏蛋只有在玩家的能量大于 反派力量。
输入:
1 6 112 243 512 343 90 478 500 789 234 400 452 150
输出:
WIN
这是我的代码:
def main():
T = int(input(''))
for i in range(T):
N = int(input(''))
strength = []
energy = []
for i in range(N):
strength.append(int(input()))
for i in range(N):
energy.append(int(input()))
strength.sort()
energy.sort()
for j in range(len(energy)):
if strength[i] < energy[i]:
continue
else:
return print('LOSE')
return print('WIN')
main()
但是我遇到了这个错误:
Traceback (most recent call last):
File "CandidateCode.py", line 23, in
main()
File "CandidateCode.py", line 11, in main
strength.append(int(input('')))
ValueError: invalid literal for int() with base 10: '112 243 512 343 90 478 '
我该如何解决这个问题?
答案 0 :(得分:0)
您可以一个一个地输入每个数字,然后将每个数字强制转换为int
。如果要一次输入所有数字,可以执行以下操作:
in = input()
numbers = list(map(int, in.split(' ')))
map
函数将int()
应用于列表的每个元素,该列表是通过用空格字符分割输入而获得的。然后,您必须将结果转换为list
,就像在python-3中一样,map
函数将返回一个迭代器。