簡體   English   中英

將raw_input answer設置為預定義變量

[英]Set raw_input answer as pre-defined variable

新手在這里。

我想讓Python查看變量(在這種情況下,john,clark和bruce)並吐出那些數組中的字符串,但我沒有運氣弄清楚如何。 這是我正在研究的例子:

names = ("john", "clark", "bruce")

john = ("doe", "13-apr-1985")
clark = ("kent", "11-jan—1987")
bruce = ("wayne", "05-sep-1988")

user = raw_input("What is your name?")
if user in names:
  print "Your last name is: " + ????[0]
  print "Your date of birth is: " + ????[1]
else:
  print "I don’t know you."

問號是我被困的地方。 我不知道如何將兩者聯系在一起。 我希望我的問題不會太混亂。

你可以使用字典:

names = {
    "john": {
        "last_name": "doe",
        "date_of_birth": "13-apr-1985"
    },
}

user = raw_input("What is your name?")
if user in names:
    print "Your last name is: " + names[user]["last_name"]
    print "Your date of birth is: " + names[user]["date_of_birth"]
else:
    print "I don’t know you."

請注意,當多個人具有相同的名字時,此方法不起作用。 在這種情況下,您需要調整數據結構以相應地處理(並且您需要決定當某人填寫"john"時您將顯示哪些結果)。

使用字典將名字映射到您擁有的元組。

names = { "john": (“doe”, “13-apr-1985”),
          "clark": (“kent”, “11-jan—1987”),
          "bruce": (“wayne”, “05-sep-1988”)}

user = raw_input(“What is your name?”)
if user in names.keys():
  print “Your last name is: “ + names[user][0]
  print “Your date of birth is: “ + names[user][1]
else:
  print “I don’t know you.”

為了使這更加pythonic和更容易使用,創建一個嵌套字典:

names = { "john": {"last": “doe”, "birthdate": “13-apr-1985”},
          "clark": {"last": “kent”, "birthdate": “11-jan—1987”},
          "bruce": {"last": “wayne”, "birthdate": “05-sep-1988”}}

user = raw_input(“What is your name?”)
if user in names.keys():
  print “Your last name is: “ + names[user]["last"]
  print “Your date of birth is: “ + names[user]["birthdate"]
else:
  print “I don’t know you.”

作為旁注,您可能希望在輸入時修剪輸入中的任何前導空格。

...
user = raw_input(“What is your name?”)
user = user.strip()
if user in names.keys():
  ...

你應該在這里使用dict ,就像這樣

d = {"john" : ("doe", "13-apr-1985"),
     "clark" : ("kent", "11-jan-1987"),
     "bruce" : ("wayne", "05-sep-1988")}

...
...
if user in d:
    print “Your last name is: “ + d[user][0]
    print “Your date of birth is: “ + d[user][0]
else:
    print “I don’t know you.”

暫無
暫無

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

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