python - 从 Python 中的打印输出中删除用户输入
问题描述
我有一个程序要求用户输入一个名称(例如里斯本),并且属于该名称的任何其他用户与将打印出的用户输入(例如里斯本)具有相同的国家/地区(例如 Jade、John)。这是我的 JSON 文件:
{
"user1":{
"Country":[
"China",
"USA",
"Nepal"
],
"Name":[
"Lisbon"
]
},
"user2":{
"Country":[
"Sweden",
"China",
"USA"
],
"Name":[
"Jade"
]
},
"user3":{
"Country":[
"India",
"China",
"USA"
],
"Name":[
"John"
]
}
}
例如,如果用户输入的里斯本,这将是输出:
Lisbon
Jade
John
我想从输出中删除用户输入,因此预期的结果是:
Jade
John
这是我的代码的样子:
def Country():
userName = raw_input("Enter user's name: ")
with open('listOfUsers.json') as f:
data = json.load(f)
def getId(name):
for userId, v in data.items():
if v['Name'][0] == name:
return userId;
id = getId(userName)
for k, v in data.items():
if any(x in data[id]['Country'] for x in v['Country']):
print (v['Name'][0])
解决方案
The following worked for me
def Country():
userName = raw_input("Enter user's name: ")
with open('listOfUsers.json') as f:
data = json.load(f)
def getId(name):
for userId, v in data.items():
if v['Name'][0] == name:
return userId;
id = getId(userName)
for k, v in data.items():
if any(x in data[id]['Country'] for x in v['Country']):
if v['Name'][0] != userName:
print (v['Name'][0])
推荐阅读
- python - 将UTC+0转换为其他时区Python
- java - 致命异常:java.lang.IndexOutOfBoundsException 无效索引 0,大小为 0
- c# - 如何在 C# 中显示逻辑和之后的 xor
- elasticsearch - 更新时动态创建字段
- javascript - 在 React Native Flatlist 中添加搜索栏没有响应
- ios - swift中的错误'线程1:断言失败'
- javascript - 如何配置验证码的html输入?
- javascript - 为什么“null >= 0”在 JavaScript 中评估为 true?
- visual-studio-code - VS Code 扩展,当视图被激活时如何处理事件?
- r - 我将如何开发用于生存分析的时间线图?