目录
第五章:if语句
一个简单的示例
# if 语句示例
cars = ['bmw','audi','toyota','subaru']
for car in cars:
if car == 'bmw':
print(car.upper())
else:
print(car.title())
执行结果:
BMW
Audi
Toyota
Subaru
条件测试
每条if语句的核心都是一个值为True或False的表达式,被称为条件测试。
>>> car = 'bmw'
>>> car == 'bmw'
>>> True
>>> car = 'audi'
>>> cat == 'bmw'
>>> False
检查不相等: !=
比较数字: >、<、==、>=、<=、!=
检查多个条件:使用and检查多个条件(并)——使用or检查多个条件(或)
检查特定值包含(不包含)在列表中:in、not in
布尔表达式
>>> age_0 = 22
>>> age_1 = 18
>>> age_0 > 18 and age_1 < 22
True
>>> age_0 < 18 and age_1 < 22
False
>>> age_0 < 18 or age_1 < 22
True
>>> age_0 < 15 or age_1 < 12
False
>>> requested_toppings = ['mushrooms','onions','pineapple']
>>> 'mushrooms' in requested_toppings
True
>>> 'pepperoni' in requested_toppings
False
>>> 'mushrooms' not in requested_toppings
False
if语句
1、单独的if语句
2、if-else语句
3、if-elif-else结构
4、使用多个elif块
5、省略else代码块
如果只想执行一个代码块,就使用if-elif-else结构;如果需要运行多个代码块,就使用一系列独立的if语句。
(懒得写例子了。。。。。。)
使用if语句处理列表
# 制作顾客满意的披萨!
# 顾客点餐
requested_toppings = ['mushrooms','french fries','extra cheese','green peppers']
# 披萨标配
avaliable_toppings = ['mushrooms','olivers','green peppers','pepperoni','pineapple','extra cheese']
# 开始制作
if requested_toppings:
for requested_topping in requested_toppings:
if requested_topping == 'green peppers':
# 售罄啦
print("Sorry,We are out of green peppers right now.")
else:
if requested_topping in avaliable_toppings:
# 顾客点的我们有
print("Adding " + requested_topping + '.')
else:
# 顾客点的我们没有,致歉
print("Sorry,we don't have " + requested_topping + '.')
#点餐完毕
print("Finished making your pizza!")
执行结果:
Adding mushrooms.
Sorry,we don't have french fries.
Adding extra cheese.
Sorry,We are out of green peppers right now.Finished making your pizza!
使用if语句的时候,在==、>=、<=等比较运算符两边各加上一个空格,会比较具有可读性,也不会影响python对代码的解读。
第六章:字典
一个简单的字典
字典用放在花括号{ }中的一系列键-值对表示。
alien_0 = {'color':'green', 'point':5}
print(alien_0['color'])
print(alien_0['point'])
执行结果:
green
5
使用字典
字典是一种动态结构,可以随时在其中添加键-值对。要添加键-值对,需要依次指定字典名、用方括号括起的健和相关联的值。
alien_0 = {'color':'green', 'point':5}
#添加键-值对
alien_0['x_position'] = 0
alien_0['y_position'] = 25
print(alien_0)
执行结果:
{'color': 'green', 'point': 5, 'x_position': 0, 'y_position': 25}
创建空字典、修改字典中的值、删除键-值对:
# 首先创建一个空字典
favorite_languages = {}
# 为字典添加内容
favorite_languages['jen'] = 'python'
favorite_languages['sarah'] = 'C'
print("添加内容后的字典值:"+str(favorite_languages))
# 修改字典中的值
favorite_languages['sarah'] = 'C++'
print("修改内容后的字典值:"+str(favorite_languages))
# 删除键-值对
del favorite_languages['jen']
print("删除键-值对后的字典值:"+str(favorite_languages))
执行结果:
添加内容后的字典值:{'jen': 'python', 'sarah': 'C'}
修改内容后的字典值:{'jen': 'python', 'sarah': 'C++'}
删除键-值对后的字典值:{'sarah': 'C++'}
使用键-值对中的内容:
favorite_languages = {
'jen' : 'python',
'sarah' : 'C',
'edraw' : 'ruby',
'phil' : 'python',
}
print('Sarah最喜欢的语言是:' +
favorite_languages['sarah'].title() +
'.')
执行结果:
Sarah最喜欢的语言是:C.
遍历字典
favorite_languages = {
'jen' : 'python',
'sarah' : 'C',
'edraw' : 'ruby',
'phil' : 'python',
}
# 遍历所有的键-值对,使用for循环遍历,items()方法返回一个键值对列表
for name,language in favorite_languages.items():
print('key:' + name)
print('value:' + language)
print(name.title() + "'s favorite language is " +
language.title() +'.')
print('\n\n')
# 遍历字典中所有的健,使用keys()方法返回健
for name in favorite_languages.keys():
print('name is ' + name)
print('\n\n')
# 按顺序遍历字典中的健,使用sorted函数
for name in sorted(favorite_languages.keys()):
print('name is ' + name)
print('\n\n')
# 遍历字典中的值,使用value()方法返回值
for language in favorite_languages.values():
print('language is ' + language)
print('\n\n')
# 对值去重,使用set()函数
for language in set(favorite_languages.values()):
print('language is ' + language)
执行结果:
key:jen
value:python
Jen's favorite language is Python.
key:sarah
value:C
Sarah's favorite language is C.
key:edraw
value:ruby
Edraw's favorite language is Ruby.
key:phil
value:python
Phil's favorite language is Python.
name is jen
name is sarah
name is edraw
name is philname is edraw
name is jen
name is phil
name is sarahlanguage is python
language is C
language is ruby
language is pythonlanguage is ruby
language is C
language is python
嵌套
在列表中存储字典
创建字典列表,将字典存储在列表中
alien_0 = {'color': 'green', 'point': 5}
alien_1 = {'color': 'yellow', 'point': 10}
alien_2 = {'color': 'red', 'point': 15}
aliens = [alien_0,alien_1,alien_2]
for alien in aliens:
print(alien)
执行结果:
{'color': 'green', 'point': 5}
{'color': 'yellow', 'point': 10}
{'color': 'red', 'point': 15}
用代码自动生成字典列表
# 用代码生成字典列表
# 创建一个空列表
aliens = []
# 用for循环创建10个外星人,自己设置特征
for alien_number in range(10):
new_alien = 1
if alien_number < 4 :
new_alien = {'color': 'green', 'point': 8, 'speed': 'slow'}
elif alien_number > 6 :
new_alien = { 'color': 'red', 'point': 15, 'speed': 'fast'}
else :
new_alien = { 'color': 'yellow', 'point': 12, 'speed': 'medium'}
if alien_number == 2 or alien_number == 8 :
new_alien['color'] = 'black_pink'
new_alien['point'] = 20
aliens.append(new_alien)
for alien in aliens:
print(alien)
执行结果:
{'color': 'green', 'point': 8, 'speed': 'slow'}
{'color': 'green', 'point': 8, 'speed': 'slow'}
{'color': 'black_pink', 'point': 20, 'speed': 'slow'}
{'color': 'green', 'point': 8, 'speed': 'slow'}
{'color': 'yellow', 'point': 12, 'speed': 'medium'}
{'color': 'yellow', 'point': 12, 'speed': 'medium'}
{'color': 'yellow', 'point': 12, 'speed': 'medium'}
{'color': 'red', 'point': 15, 'speed': 'fast'}
{'color': 'black_pink', 'point': 20, 'speed': 'fast'}
{'color': 'red', 'point': 15, 'speed': 'fast'}
在字典中存储列表
有时候,需要将列表存储在字典中,而不是将字典存储在列表的情况。
favorite_languages = {
'jen' : ['java','python','golang'],
'sarah' : ['python'],
'edraw' : ['ruby','C#'],
'phil' : ['MySQL'],
}
for name,languages in favorite_languages.items():
if len(languages) == 1:
print(name.title() + "'s favorite language is " +
str(languages[0].title())+'.')
else :
print(name.title() + "'s favorite languages are:")
for language in languages:
print("\t"+language.title())
执行结果:
Jen's favorite languages are:
Java
Python
Golang
Sarah's favorite language is Python.
Edraw's favorite languages are:
Ruby
C#
Phil's favorite language is Mysql.
在字典中存储字典
users = {
'ben':{
'first': '本',
'last' : '杰明',
'location': 'meiguo',
},
'song':{
'first': '宋',
'last': '冉',
'location': 'china',
},
'zan':{
'first':'李',
'last':'瓒',
'location': 'no',
},
}
for username,user_info in users.items():
print("姓名:" + username)
full_name = user_info['first'] + user_info['last']
location = user_info['location']
print("\t中文名:" + full_name)
print("\t位置:" + location.title())
执行结果:
姓名:ben
中文名:本杰明
位置:Meiguo姓名:song
中文名:宋冉
位置:China姓名:zan
中文名:李瓒
位置:No
当前用例仅可用于每位用户的字典结构都相同的情况。如果每位用户的字典都包含不同的健,for循环内部的处理将更加复杂。
学习资源来自——python大蟒蛇书