531 views
Python开发

Python第五天 字典条件if循环for

文章目录

2018-11-17 11:48:33

1.8字典

  • 字典是另一种可变容器模型,且可存储任意类型对象,如其他容器模型。
  • 字典由键和对应值成对组成。字典也被称作关联数组或哈希表。
  • 字典是Python中唯一的映射类型(哈希表)
  • 字典对象是可变的,但是字典的键必须是不可变的,
  • 字典是无序的
  • 每个键与值用冒号隔开(:),每对用逗号,每对用逗号分割,整体放在花括号中({})。
  • 键必须独一无二,但值则不必。
  • 值可以取任何数据类型,但必须是不可变的,如字符串,数或元组。
  • dict = {key:value,key1:value1,}

字典操作

  • dict.keys() :获取dict内所有的值
  • dict.has_key(key) :判断key是否在字典中
  • dict.items() :将字典转换成一个列表
  • dict.clear() :删除字典内所有元素
  • dict.pop(k,[d]) :删除对应key的值,如果没有返回d
  • dict.update(E,**F) :更新、合并

创建字典方式

  • dict = {}
  • dict = (a=10,b=20)
  • dict([(‘a’,10),(‘b’,20)])
  • dict.fromkeys(‘abc’,100)

1.9字典练习

  • 读取键盘读取的输入,将输入信息存入字典并按规则打印出来
#!/usr/bin/python
dic = {}
name = raw_input('Please input name: ')
age = raw_input('Please input age: ')
gender = raw_input('Please input gender: ')
dic['name'] = name
dic['age'] = age
dic['gender'] = gender
#print dic
#print dic.items()
for k,v in dic.items():
    print "%s is: %s" %(k,v)

2.0-2.1 流程控制if条件

  • Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
  • if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。
  • Python程序语言指定任何非0和非空(null)值为true,0 或者 null以及空的量(列表,元组等)为false。

if语法格式

if 判断条件1:
    执行语句1……
elif 判断条件2:
    执行语句2……
elif 判断条件3:
    执行语句3……
else:
    执行语句4……

if多条件判断举例

#!/usr/bin/python
num = 9
if num >= 0 and num <= 10:    # 判断值是否在0~10之间
    print 'hello'
>>> hello      # 输出结果

num = 10
if num < 0 or num > 10:    # 判断值是否在小于0或大于10
    print 'hello'
else:
    print 'undefine'
>>> undefine       # 输出结果
 
num = 8
# 判断值是否在0~5或者10~15之间
if (num >= 0 and num <= 5) or (num >= 10 and num <= 15):   
    print 'hello'
else:
    print 'undefine'
>>> undefine       # 输出结果

2.2-2.3 流程控制for循环

  • 循环语句允许我们执行一个语句或语句组多次

列表重写

for i in [j for j in range(1,10) if j %2 == 0 ]:
    print j,
其中后面的j必须统一,不然无法赋值

range与xrange

  • 两种作用相同
    range直接返回一个列表在内存中
    xrange生成的是一个xrange对象,需要遍历取值,占用内存资源少

迭代遍历

  • 将序列中各个元素取出来
    直接从序列取值
    通过索引取值
  • 举例99乘法口诀
#!/usr/bin/python
for i in xrange(1,10):
    for j in xrange(1,i+1):
        print "%sX%s=%s" %(j,i,j*i),
    print

2.4 循环退出

  • break 退出整个循环
  • continue 退出当前循环
  • pass 占位符什么都不做
  • sys.exit() 退出程序
#!/usr/bin/python
import sys
for i in xrange(10):
    if i == 5:
        continue
    elif i == 6: 
        pass
    elif i == 7:
        break
sys.exit()
print 'nothing to do'

猜数字游戏

  • 小于20的随机数,猜5次
#!/usr/bin/python
#coding:utf8
import random
i = 0
while i<6:
    num = raw_input('Please input a num: ')
    num = int(num)
    random_num = random.randint(0,20)
    if num == random_num:
        print "%s等于%s,恭喜您!" %(num,random_num)
        break
    elif num > random_num:
        print "您输入的数为%s,猜大了,请继续加油!" %num
    else:
        print "您输入的数为%s,猜小了,请继续加油!" %num
    i +=1
    if i == 6:
        print "您输了!"

Leave a Reply

影子专属博客 赣ICP备17013143号