[英]Python beginner issue in dictionary
def myDict(key1, value1, key2, value2, value3, key3):
# Write your code here
a={key1:value1}
print(a)
a[key2]=value2
print(a)
a[key1]=value3
print(a)
a[key3]
print(a)
if __name__ == '__main__':
key1 = 'name'
value1 = 'rajesh'
key2 = 'age'
value2 = '21'
value3 = 'vignesh'
key3 = 'age'
mydct = myDict(key1, value1, key2, value2, value3, key3)
print(mydct if type(mydct) == dict else "Return a dictionary")
驅動程序功能是預先定義的。 預期的輸出是:
{'name': 'rajesh'}
{'name': 'rajesh', 'age': '21'}
{'name': 'vignesh', 'age': '21'}
{'name': 'vignesh'}
但我越來越像:
{'name': 'rajesh'}
{'name': 'rajesh', 'age': '21'}
{'name': 'vignesh', 'age': '21'}
{'name': 'vignesh'}
Return a dictionary
我在做什么錯誤?
將以下內容添加到 myDict 的底部:
return a
沒有它, myDict
隱式返回None
,這就是您所看到的。
你錯過了這兩行:
del a[key3]
return a
這是完整的邏輯:
def myDict(key1, value1, key2, value2, value3, key3):
a={key1:value1}
print(a)
a[key2]=value2
print(a)
a[key1]=value3
print(a)
del a[key3]
return a
只需在 def 函數的最后一行添加return a 即可。 我試過了,它得到了你想要的。 如前所述,如果您不在函數末尾放置 return 語句,則會得到一個 NoneType 對象,即它不會將您的mydct對象識別為字典,而是打印 else 語句,如您之前所說。
def myDict(key1, value1, key2, value2, value3, key3):
# Write your code here
a={key1:value1}
print(a)
a[key2]=value2
print(a)
a[key1]=value3
print(a)
a[key3]
print(a)
return a
if __name__ == '__main__':
key1 = 'name'
value1 = 'rajesh'
key2 = 'age'
value2 = '21'
value3 = 'vignesh'
key3 = 'age'
mydct = myDict(key1, value1, key2, value2, value3, key3)
print(mydct if type(mydct) == dict else "Return a dictionary")
你把最后一條語句改成什么
Del a[key3]
Return a
它會給出正確的輸出。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.