Python学习笔记编程小哥令狐~持续更新、、、(上)+https://developer.aliyun.com/article/1621218
4.3.4列表解析
- 先遍历赋值在乘方
squares=[value**2 for value in range(1,11)] print(squares)
4.4使用列表的一部分
4.4.1切片
切片就是列表的一部分内容元素。
- 获取列表的2~4个元素
motorcycles=['honda','yamaha','suzuki','name','fff'] print(motorcycles[1:4])
- 获取列表从表头开始
motorcycles=['honda','yamaha','suzuki','name','fff'] print(motorcycles[:4])
- 获取列表从表尾结束
motorcycles=['honda','yamaha','suzuki','name','fff'] print(motorcycles[2:])
4.4.2遍历切片
方法: for
循环+切片
五、if语句
5.1引入例子
cars=['audi','bmw','subaru','toyota'] for car in cars: if car=='bmw': print(car.upper()) else: print(car.title())
5.2条件测试
- 每条if语句的核心就是一个值
true
或false
。
5.2.1检查多个条件
- 使用 and检查多个条件,相当于“&&”
age_0=22 age_1=18 print(age_0>=21 and age_1>21)
- 使用 or检查多个条件,相当于“||”
age_0=22 age_1=18 print(age_0>=21 or age_1>21)
5.2.2检查特定值是否包含在列表中
- 关键字
in
requested_toppings=['mushrooms','onions','pineapple'] print('mushrooms' in requested_toppings)
- 在if语句中,缩进的作用与for循环中相同,如果测试通过了,将执行if语句后面所有缩进的代码,否则将忽略他们。
5.3.2if-else语句
age=17 if age>=18: print("you are oil enough to vote") print("you are oil enough to vote123456") else: print("sorry you can ") print("sorry you can please register ")
5.3.3if-elif-else
age=12 if age<4: print("your admission cost is 0$") elif age<18: print("your admission cost is 5$") else: print("your admission cost is 0$")
5.3.4使用多个elif代码块
age=12 if age<14: price=0 elif age<18: price=5 elif age<65: price=10 else: price=5 print("your admission cost is $"+str(price)+".")
六、字典
- 字典就是能够存储互不相联的信息
alien_0={'color':'green','points':5} print(alien_0['color']) print(alien_0['points'])
6.2使用字典
- 字典是一系列的 键------值对 组成的。我们可以通过键访问值,也可以通过值访问键。
6.2.1访问字典中的值
alien_0={'color':'green','points':5} new_points=alien_0['points'] print("you just earned "+str(new_points)+"points!")
6.2.2添加键值对
- 字典是一种动态结构,可以随时添加键值对。
alien_0={'color':'green','points':5} print(alien_0) alien_0['x_position']=0 alien_0['y_position']=25 print(alien_0)
6.2.3创建空字典
alien_0={} alien_0['color']='green' alien_0['points']=5 print(alien_0)
6.2.4修改字典中的值
alien_0={'color':'green'} print("The alien is"+alien_0['color']+".") alien_0['color']='yellow' print("The alien is now"+alien_0['color']+".")
alien_0={'x_position':0,'y_position':25,'speed':'medium'} print("Original x-position:"+str(alien_0['x_position'])) #向右移动外星人 #据外星人当前速度决定其移动多远 if alien_0['speed']=='slow': x_increment=1 elif alien_0['speed']=='medium': x_increment=2 else: #这个外星人的移动速度一定很快 x_increment=3 #新位置等于老位置加上增量 alien_0['x_position']=alien_0['x_position']+x_increment print("New x-position:"+str(alien_0['x_position']))
6.2.5删除键值对
alien_0={'color':'green','points':5} print(alien_0) del alien_0['points'] print(alien_0)
6.2.6由类似对象组成的字典
favorite_languagres={ 'jen':'python', 'sarah':'C', 'edward':'ruby', 'phil':'python', } print("Saras facorite language is"+favorite_languagres['sarah'].title()+".")
6.3遍历字典
6.3.1遍历所有的键值对
items()
方法可以返回字典里的键和值得元素
user_0={ 'username':'efermi', 'first':'enrico', 'last':'fermi', } for key,value in user_0.items(): print("\nkey:"+key) print("value:"+value)
6.3.2遍历字典中的所有键
- 在不需要使用字典中的值时,方法
key()
很有用。遍历所有键值。
favorite_languages={ 'jen':'python', 'sarah':'c', 'edward':'ruby', 'phil':'python', } for name in favorite_languages.keys(): print(name.title())
favorite_languages={ 'jen':'python', 'sarah':'c', 'edward':'ruby', 'phil':'python', } friends=['phil','sarah'] for name in favorite_languages.keys(): print(name.title()) if name in friends: print("Hi"+name.title()+",I see your favorite languages is"+favorite_languages[name].title()+"!")
6.3.3按顺序遍历字典中的所有键
favoirte_languages={ 'jen':'python', 'sarah':'c', 'edward':'ruby', 'phil':'python', } for name in sorted(favoirte_languages.keys()): print(name.title()+",thank you for taking the poll")
6.3.4遍历字典中的所有值
favoirte_languages={ 'jen':'python', 'sarah':'c', 'edward':'ruby', 'phil':'python', } print("The following languages have been menthioned:") for language in favoirte_languages.values(): print(language.title())
6.4嵌套
- 将字典存储在列表中叫做 嵌套
6.4.1字典列表
#字典 alien_0={ 'color':'green', 'points':5, } alien_1={ 'color':'red', 'points':15, } alien_2={ 'color':'yellow', 'points':25, } aliens=[alien_0,alien_1,alien_2]#列表 for alien in aliens: print(alien)
6.4.2在字典中存储列表
pizza={ 'crust':'thick', 'toppings':['mushrooms','extra cheese'], } print("you ordered a "+pizza['crust']+"-crust pizza"+"with the following toppings:") for topping in pizza['toppings']: print("\t"+topping)
6.4.3在字典中存储字典
users={ 'aeinstein':{ 'first':'albert', 'last':'einstein', 'location':'princetion', }, 'mucire':{ 'first':'marie', 'last':'curie', 'location':'princetion', }, } for username,user_info in users.items(): print("\nusername:"+username) full_name=user_info['first']+" "+user_info['last'] location=user_info['location'] print("\tFull name:"+full_name.title()) print("\tLocation:"+location.title())
7、用户输入和while循环
7.1函数input
- 这是一个输入函数
message=input("tell me something and I will repeat it back to you:") print(message)
7.1.1编写清晰的程序
name=input("please enter your name:") print("Hello"+name+"!")
7.1.2使用int()来获取数值输入
int()
可以将字符串转换成数字
age=input("How old are you?") age=int(age) if age>18: print("\n you are tall enough to ride") else: print("\n you .....")
7.1.3求模运算符
number=input("Enter a number ,and I will tell you if it is even or odd") number=int(number) if number%2==0: print("\nThe number"+str(number)+"is even") else: print("\nThe number "+str(number)+"is odd")
7.2while循环简介
7.2.1使用while循环
current_number=1 while current_number<=5: print(current_number) current_number+=1;
7.2.2让用户选择何时退出
- 可以使用while循环让程序在用户愿意时不断运行。我们在其中定义一个退出值,只要用户输入的不是这个值,程序接着运行。
prompt="\n Tell me something and i will repeat it back to you:" prompt+="\n Enter 'quit' to end the program" message="" while message !='quit': message=input(prompt) print(message)
7.2.3使用标志
- 使用标志有点类似与旗帜变量。赋予它一个状态,当状态发生改变时,循环结束。
prompt="\n Tell me something and i will repeat it back to you:" prompt+="\n Enter 'quit' to end the program" active=True while active: message=input(prompt) if message=='quit': active=False else: print(message)
7.2.4适应break退出循环
- 要退出while循环,不在执行接下来的代码,直接使用
break
prompt="\n Tell me something and i will repeat it back to you:" prompt+="\n Enter 'quit' to end the program" while True: city=input(prompt) if city=='quit': break else: print("I love to go to "+city.title()+"!")
7.3使用while循环来处理列表和字典
7.3.1在列表之间移动元素
#首先创建一个带验证的用户列表 #和一个用于存储已经验证的用户列表 unconfirmed_users=['alice','brain','candace'] confirmed_users=[] #验证每个用户,直到没有未验证的用户为止 #将每个经过验证的列表都移动到已经验证后的用户列表中 while unconfirmed_users: current_user=unconfirmed_users.pop() print("Verfing user:"+current_user.title()) confirmed_users.append(current_user) #显示所有已经验证的用户 print("\nThe following users have beeen confimede:") for confirmed_user in confirmed_users: print(confirmed_user.title())
7.3.2删除包含特定值的所有列表
pets=['dog','cat','dog','goldfish','cat','rabbit','cat'] print(pets) while 'cat' in pets: pets.remove('cat') print(pets)
7.3使用while循环来处理列表和字典
7.3.1在列表之间移动元素
#首先创建一个带验证的用户列表 #和一个用于存储已经验证的用户列表 unconfirmed_users=['alice','brain','candace'] confirmed_users=[] #验证每个用户,直到没有未验证的用户为止 #将每个经过验证的列表都移动到已经验证后的用户列表中 while unconfirmed_users: current_user=unconfirmed_users.pop() print("Verfing user:"+current_user.title()) confirmed_users.append(current_user) #显示所有已经验证的用户 print("\nThe following users have beeen confimede:") for confirmed_user in confirmed_users: print(confirmed_user.title())
7.3.2删除包含特定值的所有列表
pets=['dog','cat','dog','goldfish','cat','rabbit','cat'] print(pets) while 'cat' in pets: pets.remove('cat') print(pets)