簡體   English   中英

在Python中從打印輸出中刪除用戶輸入

[英]Removing User Input from the printed output in 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,則將為輸出:

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])

以下為我工作

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])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM