python学习笔记(二):if语句、字典、用户输入与while循环

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}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值