4. if语句
4.1 if-else语句
例如:
age = 17
if age >= 18:
print "adult"
else:
print "teenager"
输出为:
teenager
4.2 if-elif-else结构
例如:
age = 12
if age < 4:
print "free"
elif age < 18:
print "half price"
else:
print "full price"
输出为:
half price
4.3 使用多个elif代码块
例如:
age = 12
if age < 4:
print "free"
elif age < 18:
print "half price"
elif age < 65:
print "full price"
else:
print "free"
输出为:
half price
4.4 省略else代码块
前面的例子可以改为:
age = 12
if age < 4:
print "free"
elif age < 18:
print "half price"
elif age < 65:
print "full price"
elif age >= 65:
print "free"
输出为:
half price
5.字典
5.1 使用字典
例如:
#举例:队伍1里面人数是30任务数是6
team_1 = {'people': 30,'task':6}
#访问字典中的值:输出队伍1的人数
print (team_1['people'])
#添加键—值对:添加队伍1里面小组数是6
print "team_1:"+str(team_1)
team_1['group'] = 6
print "team_1:"+str(team_1)
print ("\n")
#创建空字典:创建空字典加入队伍2的信息
team_2 = {}
team_2['people'] = 25
team_2['task'] = 5
team_2['group'] = 5
print "team_2:"+str(team_2)
#修改字典中的值:将队伍2的人数从25修改到30
team_2['people'] = 30
print "team_2:"+str(team_2)
#删除键—值对:删除队伍2的小组数
del team_2['group']
print "team_2:"+str(team_2)
print ("\n")
#当有多个键-值对时可以一组键-值对放一行,最后一组键-值对后面可以有逗号
favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
print favorite_languages
输出为:
30
team_1:{'task': 6, 'people': 30}
team_1:{'task': 6, 'group': 6, 'people': 30}
team_2:{'task': 5, 'group': 5, 'people': 25}
team_2:{'task': 5, 'group': 5, 'people': 30}
team_2:{'task': 5, 'people': 30}
{'sarah': 'c', 'edward': 'ruby', 'jen': 'python', 'phil': 'python'}
5.2 遍历字典
例如:
#举例:队伍1中有人30个,任务6个,小组6个
team_1 = {
'people': 30,
'task':6,
'group':6
}
#遍历所有的键-值对
for name , number in team_1.items():
print ("name:" + str(name.title()))
print ("number:" + str(number))
print ("\n")
#遍历字典中所有的键
for name in team_1.keys():
print name.title()
print ("\n")
#按顺序遍历字典中所有的键
for name in sorted(team_1.keys()):
print name.title()
print ("\n")
#遍历字典中所有的值
for number in team_1.values():
print number
输出为:
name:Task
number:6
name:Group
number:6
name:People
number:30
Task
Group
People
Group
People
Task
6
6
30
5.3 嵌套
例如:
#嵌套
#字典列表
team_1 = {'people': 30,'task':6,'group':6}
team_2 = {'people': 25,'task':5,'group':5}
team_3 = {'people': 40,'task':5,'group':5}
team0 = [team_1,team_2,team_3]
for team in team0[0:2]:
print team
print ("\n")
#在字典中存储列表
favorite_language={
'Jay':'c',
'Lucy':['python','java'],
}
for name,languages in favorite_language.items():
print (name.title()+"'s favorite language are:")
for language in languages:
print language.title()
print ("\n")
#在字典中存储字典
team_0 = {
'people': {
'male':20,
'female':10,
},
'task':{
'class A':2,
'class B':4,
},
'group':{
'group1':6,
'group2':10,
'group3':4,
'group4':3,
'group5':5,
'group6':2,
},
}
for name,number in team_0.items():
print name + str(number)
输出为:
{'task': 6, 'group': 6, 'people': 30}
{'task': 5, 'group': 5, 'people': 25}
Lucy's favorite language are:
Python
Java
Jay's favorite language are:
C
task{'class B': 4, 'class A': 2}
group{'group5': 5, 'group4': 3, 'group6': 2, 'group1': 6, 'group3': 4, 'group2': 10}
people{'male': 20, 'female': 10}
6.用户输入和while循环
6.1 函数input()的工作原理
例1:
#1.input()的程序
name = raw_input("Please enter your name :")
print name
输入:
Please enter your name :gaochi
输出为:
gaochi
注:在python 2.7中input函数是输入函数,如果输入的变量为字符串或字符,且该变量名在历史记录中有过赋值,则正确,否则出错。输入整数则正确。而raw_input函数,是将输入的变量以字符串存储起来。输入值都正确。不会出错。raw_input函数比input函数更通用。最后,如果时在python 3中只需使用input()即可。
例2:
#2.使用int()来获取数值输入,让输入数据可以进行比较和计算
age = raw_input("How old are you? ")
age = int(age)
if age >= 18:
print "adult"
else:
print "teenager"
输入:
How old are you? 16
输出为:
teenager
6.2 while循环简介
例1:
#1.使用while循环
number0 = 1
while number0 <=5:
print (number0)
number0 += 1
输出为:
1
2
3
4
5
例2:
#2.使用break退出循环
number0 = 1
while number0 <=5:
print (number0)
number0 += 1
if number0 >= 4:
break
输出为:
1
2
3
例3:
#3.在循环中使用continue:输出10以内的奇数
number1 = 0
while number1 < 10:
number1 += 1
if number1 %2 == 0:
continue
print number1
输出为:
1
3
5
7
9
6.3 使用while循环来处理列表和字典
例1:
#1.在列表之间移动元素
#例:用户验证
gc0 = ['a','b','c','d']
gc1 = []
while gc0:
current_gc = gc0.pop()
print "Verifying user:" + current_gc
gc1.append(current_gc)
print "confirmed user:"
for confirmed_gc0 in gc1:
print confirmed_gc0
输出为:
Verifying user:d
Verifying user:c
Verifying user:b
Verifying user:a
confirmed user:
d
c
b
a
例2:
#2.删除包含特定值的所有列表元素
pets = ['dog','cat','dog','goldfish','cat','rabbit','cat']
print pets
while 'cat' in pets:
pets.remove('cat')
print pets
输出为:
['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat']
['dog', 'dog', 'goldfish', 'rabbit']
例3:
#3.使用用户输入来填充字典:输入各类宠物的类别和个数到字典中
pets = {}
gc = True
while gc:
pettype = raw_input("type:")
petnumber = input("number:")
pets[pettype] = petnumber
repeat = raw_input("yes/no")
if repeat == 'no':
gc = False
print "Results:"
for pettype,petnumber in pets.items():
print "type:" + str(pettype) + "\t" + "numbers:" + str(petnumber)
print pets
输入:
type:dog
number:25
yes/noyes
type:cat
number:36
yes/nono
输出为:
type:dog numbers:25
type:cat numbers:36
{'dog': 25, 'cat': 36}