2016.3.17.Python之循环

对昨天的代码进行优化,用十四行实现了和昨天一样的功能

代码如下:

print('欢迎使用BMI指数计算\n')
h=float(input('请输入你的身高(m):'))
w=float(input('请输入你的体重(kg):'))
s=w/(h*h) 
if s<18.5:
    print('你的BMI指数为:',s,'\n有点偏瘦啦~稍胖些会更健康哦')
elif s<=25:
    print('你的BMI指数为:',s,'\n正常体重~非常健康!不错不错')
elif s<=28:
    print('你的BMI指数为:',s,'\n有些偏胖,锻炼计划可以开始啦')
elif s<=32:
    print('你的BMI指数为:',s,'\n减肥减肥!我们都是潜力股~')
else:
    print('你的BMI指数为:',s,'\n体脂过高会引起多种并发症哦,坚持运动吧!')    


今天继续学习Python,循环。

有for x in...循环和while循环

前者是把每个元素代入变量想,然后执行缩进块的语句,后者是只要条件满足就不断循环,条件不满足就退出循环。

另外接触到了sum()和range()函数。

依然不做过多说明,部分内容有纸质笔记。下面是我的练习

请利用循环依次对list中的每个名字打印出Hello, xxx!

# -*- coding: utf-8 -*-
L = ['Bart', 'Lisa', 'Adam']
以下是代码
names=['Michael','Lisa','Adam']
for name in names:
    print("Hello,"+name)
运行正确。

还可以用while来实现,如下:

L = ['Bart','Lisa','Adam']
n = 0
while n < len(L):
    print('hello: %s !' % L[n])
    n = n + 1

运行正确。


如果写出了死循环语句,可以用Ctrl+c退出程序,或强制结束Python程序。

我试图写出一个Python死循环语句,好玩有意思,但是没什么灵感,可能明天会实现。


今天还学习了dict(dictionary)和set的使用,Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。

和list比较,dict有以下几个特点:

  1. 查找和插入的速度极快,不会随着key的增加而变慢;
  2. 需要占用大量的内存,内存浪费多。

而list相反:

  1. 查找和插入的时间随着元素的增加而增加;
  2. 占用空间小,浪费内存很少。

所以,dict是用空间来换取时间的一种方法。

dict可以用在需要高速查找的很多地方,在Python代码中几乎无处不在,正确使用dict非常重要,需要牢记的第一条就是dict的key必须是不可变对象

这是因为dict根据key来计算value的存储位置,如果每次计算相同的key得出的结果不同,那dict内部就完全混乱了。这个通过key计算位置的算法称为哈希算法(Hash)。

要保证hash的正确性,作为key的对象就不能变。在Python中,字符串、整数等都是不可变的,因此,可以放心地作为key。而list是可变的,就不能作为key

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

要创建一个set,需要提供一个list作为输入集合,我们可以通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果,通过remove(key)方法可以删除元素,另外,set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作。

至此,Python基础知识已经基本完成,接下来就是函数等知识了。

就这样。

明天学CSS基础。






你可能感兴趣的:(2016.3.17.Python之循环)