网络安全检测|网络安全服务|网络安全扫描-香港墨客投资移动版

主页 > 业界资讯 > 网络渗透测试

Python 我在黑客排名引擎中遇到了EOF错误,而我在

Python 我在黑客排名引擎中遇到了EOF错误,而我在本地机器中的代码工作正常

python python-3.x dictionary

Python 我在黑客排名引擎中遇到了EOF错误,而我在本地机器中的代码工作正常,python,python-3.x,dictionary,Python,Python 3.x,Dictionary,我在Hacker rank引擎上运行python3时遇到了这个错误 Traceback (most recent call last): File "Solution.py", line 8, in <module> name=input() EOFError: EOF when reading a line 回溯(最近一次呼叫最后一次): 文件“Solution.py”,第8行,在 名称=输入() EOF:读取一行时的EOF 我的密码是 phon

我在Hacker rank引擎上运行python3时遇到了这个错误

Traceback (most recent call last): File "Solution.py", line 8, in <module> name=input() EOFError: EOF when reading a line 回溯(最近一次呼叫最后一次): 文件“Solution.py”,第8行,在 名称=输入() EOF:读取一行时的EOF 我的密码是

phonebook = {} total_entries = int(input("Total number of entries: ")) if 1 <= total_entries <= 10 ** 5: print("Enter names and number separated by space:") for entries in range(0, total_entries): items = input("Enter here:") items = items.split(" ") phonebook[items[0]] = int(items[1]) queries = [] while True: queries.append(input("Enter name to be searched:")) k = queries[-1] if not k: break if 1 <= len(queries) <= 10 ** 5: for query in queries: if query == '': exit(0) elif query in phonebook.keys(): print(f"{query}={phonebook.get(query)}") else: print("Not found") phonebook={} 项目总数=整数(输入(“项目总数:”) 如果1您读取输入的方式是错误的

您的代码假定每个名称和数字对都输入在单独的行中,但事实并非如此

例如,在获取姓名和号码时,您不需要调用input(),而需要input一次,然后使用split

name, number = input().split() 您读取输入的方式是错误的

您的代码假定每个名称和数字对都输入在单独的行中,但事实并非如此

例如,在获取姓名和号码时,您不需要调用input(),而需要input一次,然后使用split

name, number = input().split() 根据HackerRank的问题,在n行输入之后,会有一些“随机”的输入行。因此,您不知道输入何时结束。因此,您将得到“EOF错误”。一种方法是使用stdin,如下所示:

from sys import stdin phone={} n=int(input()) for i in range(0,n): name=input() phone[name]=input() for i in stdin: name=input() re=phone.get(name,"none") if re!="none": print("%s=%s"%(name,re)) else: print("Not found") 但你的逻辑是错误的。由于输入是在一行中进行的,而根据HackerRank问题,您是在两行而不是一行中进行输入,因此在n行输入之后,将有一些“随机”输入行。因此,您不知道输入何时结束。因此,您将得到“EOF错误”。一种方法是使用stdin,如下所示:

from sys import stdin phone={} n=int(input()) for i in range(0,n): name=input() phone[name]=input() for i in stdin: name=input() re=phone.get(name,"none") if re!="none": print("%s=%s"%(name,re)) else: print("Not found") 但你的逻辑是错误的。由于输入是在一行中进行的,而您是在两行而不是一行中进行输入

您是否检查了复制粘贴我的注释中的代码?确保从sys导入标准输入。我检查了它,然后发布了代码。是的,它不起作用。我做了一项工作,解决了问题,但感谢您的帮助,我使用get函数解决了问题。您检查了从我的评论复制粘贴代码了吗?确保从sys导入标准输入。我检查了它,然后发布了代码。是的,它不起作用。我做了一项工作,解决了这个问题。但是感谢你的帮助,我使用了get函数来解决它

(责任编辑:admin)