N = int(input())
list = []
while(N>0):
n = int(input())
list.append(n)
N = N-1
Q = int(input())
while(Q>0):
check = int(input())
count = list.count(check)
if(count==0):
print("NOT PRESENT")
else:
print(count)
Q = Q-1
以上是我在hackerearth写的代码。我得到响应作为运行时错误。但是当我尝试使用我的ubuntu python控制台时,它可以完美地运行
答案 0 :(得分:0)
根据提供的信息,您似乎正在尝试解决this problem。
输入数组是一行中提供的元素列表。您的代码使用' input()',它一次读取整行。但是,由于存在空格字符,因此无法输入到整数。
罪魁祸首代码: -
N = int(input())
list = []
while(N>0):
n = int(input())
list.append(n)
N = N-1
将其更改为: -
n = int(input())
arr = [int(x) for x in input().split()]
另外,我建议不要使用变量list
,因为它超越了该变量/类型的全局含义。
由于您说它在本地计算机上运行,我认为您手动输入输入。测试它是否在本地工作的正确方法是将样本输入写入文件,比如input.sample
。然后在命令行上运行以下命令(我假设您正在使用* nix系统并且python代码位于文件code.py
中)
$> python3 code.py < input.sample
这应该给你错误: -
Traceback (most recent call last):
File "/tmp/test2.py", line 7, in <module>
n = int(input())
ValueError: invalid literal for int() with base 10: '1 1 1 2 2 0'