Python(三)——条件判断与循环,键值存储

条件判断
计算机能处理很多自动化任务的原因就是可以做条件判断
在python中实现输入年龄,打印不同内容
a=5
if a>=18:
    print('your age is',a)
    print('成人')
else:
    print('your age is:',a)
    print('未成年')    
input的使用,input用来读取用户的输出,默认为str,数值类型需要转换。
s = input('请输出您的出生年份:')
birth=int(s)
if birth>=2000:
    print('您是00后')
elif birth>=1995 :
    print('您是95后')
else:
    print('您的年龄是:',birth)
练习
# -*- coding: utf-8 -*-
h1 = input('请输出您的身高(M):')
w2 = input('请输出您的体重(KG):')
h=float(h1)
w=float(w2)
bmi=w/(h*h)
if bmi<18.5:
    print('您的体重过轻,您的BMI指数是:',bmi,'%')
elif 18.5<=bmi<25 :
    print('您的体重正常,您的BMI指数是',bmi,'%')
elif 25<=bmi<32:
    print('您的体重肥胖,您的BMI指数是', bmi, '%')
else:
    print('您的体重严重肥胖,您的BMI指数是', bmi, '%')
########################################################################################


python的循环有两种,一种是 for...in循环,一种把list与tuple中的每个元素迭代出来,例如:

names = ['mars','tom','jurry']
for i in names:
print(i)
执行代码,会依次打印list里的元素
如果要求1-10之和,可以这么写:
sum = 0
for i in [1,2,3,4,5,6,7,8,9,10]:
    sum = sum + i
print(sum)
但是如果要求1-100之和,就很麻烦了,python提供了一个方法 range(),可以生成一个整数序列,再通过list()函数可以转换为list,例如:range(5)生成的序列就是从0开始小于5的整数,即[0,1,2,3,4]
所以,求1-100之和可以写成
sum = 0
for i in range(101):
    sum = sum + i
print(sum)
第二种循环是while循环,只要条件满足,就不断循环,条件不满足时推出循环,例如,计算1-100以内所有奇数之和,使用while循环实现
sum = 0
n = 99
while n<0:
    sum = sum + n
    n = n - 2
print(sum)
break,在循环中,break可以提前退出循环,例如,本来要循环打印1-100的数字
n = 0
while n <101:
    print(n)
    n = n+1
print('over')
如果要提前结束循环,可以使用break,例如:
n = 0
while n < 101:
    if n > 20:
        break
    print(n)
    n = n + 1
print('over')
continue,跳过本次循环,直接开始下次循环,例如:打印1-100之间的偶数
n = 0
where n <=100
    if n % 2 !=0
    continue
    print(n)
    n = n + 1
####################### dict与set键值对应###########################
dict全程dictionary,在其他语言中也称为map,使用键值存储,具有极快的查找速度
例如 :
d = {'michael':100,'xiaoming':80,'xiaohong':66,'xiaohua':59}
查找某个key对应的value
d['xiaoming']

修改某个key对应的value
d['xiaoming']=99

一个key只能对应一个value,判断key是否存在的方法
'xiaoying' in d
False
另一种方法就是get
d.get('tom')
d.get('tom',-1)
结果返回none或者自己制定的返回结果-1

要删除一个key的方法,对应的value也会随之删除
d.pop('xiaoming')

和list相比较,dict有以下特点:1,查找和插入的速度极快,不会随着key 的增加而变慢,2,占用大量的内存,内存浪费多
list有以下特点:1,查找和插入的时间随意key值的增加而变得缓慢,2,占用空间内存小


set与dict类似,也是一种key的集合,但是不存储value,而且key不会重复。
要创建一个set,需要一个list作为输入集合:
s = set([1,2,3])
传入的参数是[1,2,3]是一个list,而显示的是{1,2,3}告诉你这个set内部有三个元素,set无序。
重复的元素在set中自动会被过滤,通过add()函数可以添加元素到set中,重复添加没有效果。
使用remove()方法可以删除元素,set可以看成是数学上无序和无重复的元素稽核,两个set可以看成数学意义上的交集,并集。
s1=set([1,2,3])
s2=set([2,3,4])
s1 & s2
输出:{2,3}
s1 | s2
输出:{1,2,3,4}

猜你喜欢

转载自blog.csdn.net/zcb_data/article/details/80667548
今日推荐