#2022.08.07 by zgw#第六章 字典#6.1 简单的例子#6.2使用字典#字典是一系列键值对,与键关联的值可以是数、字符串、列表乃至字典from turtle import Turtle
print("--------6.2----------")
alien0 ={'color':'green','points':5}print(alien0['color'])print(alien0['points'])
alien0['x_pos']=0
alien0['y_pos']=25print(alien0)
point_value = alien0.get("point","No point value\n")#使用get()避免程序出错print(point_value)
points_value = alien0.get("points",'No points value!\n')print(points_value)#6.3 遍历字典print("-------6.3-------")
user0 ={'username':'efimi','first':'enrico','last':'fermi',}for key, value in user0.items():#key ,value 可以自定义,比如 k v,name,languageprint(f"\nKey : {key}")print(f"Value : {value}")print("\n")
f_languages ={'jen':'python','sarah':'c','edward':'ruby','phil':'python',}for name insorted(f_languages.keys()):print(f"{name.title()} , thank you .")for language in f_languages.values():#遍历所有值print(language.title())print("------------------")for language inset(f_languages.values()):#使用set去重print("\n",language.title())#6.4 #字典列表print("------------6.4-------------")#exam1
alien_0 ={'color':'green','points':'5'}
alien_1 ={'color':'yellow','points':'10'}
alien_2 ={'color':'red','points':'15'}
aliens =[alien_0, alien_1, alien_2]for alien in aliens:print(alien)#exam2print('\n创建30个绿色外星人\n')
aliens =[]for i inrange(30):
new_alien ={'color':'green','points':5,'speed':'slow'}
aliens.append(new_alien)for alien in aliens[:5]:print(alien)print(f"totol number of alien: {len(aliens)}")print("------------\n")#6.4.2 在字典中存储列表print("---------6.4.2----------\n")
favortite_languages ={'jen':['python','ruby'],'sarah':['c'],'edward':['ruby','go']}for name, languages in favortite_languages.items():print(f"\n{name.title()}'s favorite languages are : ")for language in languages:print(f"\t{language.title()}")#第七章 用户输入和while循环print("---------------第七章示例--------------")#7.1 input()函数#input()返回字符串# 求模运算符:%#7.2 while循环
promt ='\n循环开始,请输入文字。'
promt +='\n输入‘quit’退出程序: '
acitve =Truewhile acitve:
message =input(promt)if message =='quit':
acitve =Falseelse:print(message)# break ,continue 使用# 避免无限循环#7.3 使用while循环处理列表和字典print("-----7.3exam--------\n")
responses ={}
active =Truewhile active:
name =input("\n what is your name? ")
response =input("Which montain would you like to climb someday? ")
responses[name]= response
repeat =input("repeat? (y/n)")if repeat =='n':
active =Falseprint("\n-----Results----")for name,response in responses.items():print(f"{name} would like to climb {response}. ")