第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

python代碼問題之字典

python代碼問題之字典

Hankong 2016-10-05 23:25:20
people={? ? "alice":{? ? ? ? "phone":"2341",? ? ? ? "addr":"for drive 23"? ? },? ? "beth":{? ? ? ? "phone":"9012",? ? ? ? "addr":"bsr street 42"? ? },? ? "cecil":{? ? ? ? "phone":"3158",? ? ? ? "addr":"baz avenue 90"? ? }}#針對電話號碼和地址使用的描述性標簽,會在打印時候用到labels={? ? "phone":"phone number",? ? "addr":"address"}name=raw_input("Name:")#查找電話號碼還是地址?request=raw_input("phone number(p) or address (a)?")#使用正確的鍵:if request=="p":key="phone"if request=="a":key="addr"#如果名字是字典中的有效鍵方才打印信息:if name in people:print "%s's %s is %s."%\? ?(name.labels[key],people[name][key])提示錯誤為:File?"c:\Users\DULU\Desktop\untitled-1.py", line 32, in <module>??(name.labels[key],people[name][key])AttributeError: 'str' object has no attribute 'labels'(這是什么意思,看不懂呀)
查看完整描述

3 回答

已采納
?
longgb246

TA貢獻1條經(jīng)驗 獲得超1個贊


1、if name in people等價于if name in people.keys(),

你的代碼里面people.keys()有:"alice"、"beth"、"cecil"。這3個都是string類型,string類型沒有l(wèi)abels這個屬性。

這也就是你的報錯信息:'str' object has no attribute 'labels'。

string類型本身就沒有l(wèi)abels這個屬性,別告訴我你連這個都不知道。所以你后面引用name.labels[key]就會報錯。

2、還有你print的參數(shù)個數(shù)不對,個人不太喜歡%,偏向于.format()。

我大致知道你想干嘛,就是輸入姓名和p、a輸出,結(jié)果是吧,最后幾行你改下:

#?使用正確的鍵:
if?request?==?"p":
????key?=?"phone"
if?request?==?"a":
????key?=?"addr"
#?如果名字是字典中的有效鍵方才打印信息:
if?name?in?people.keys():
????print?"%s's?%s?is?%s."?%?(name,?key,?people[name][key])
????#?你可以嘗試下面的.format()
????print?"{0}'s?{1}?is?{2}.".format(name,?key,?people[name][key])

個人強烈建議,python代碼不要寫在一行,縮進才是它的規(guī)范。

查看完整回答
1 反對 回復 2016-10-06
  • Hankong
    Hankong
    大神呀,雖然我也沒看懂你想說什么吧,還是謝謝
  • Hankong
    Hankong
    能不能在我那個基礎上幫我改一下,我看的輔導書上就是那么教的,你說的那些我還沒有學到了
  • 3 回答
  • 0 關注
  • 1949 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號