Path to Python(2)

来源:互联网 发布:网上免费打电话软件 编辑:程序博客网 时间:2024/06/06 14:23

条件判断

if语句,表示条件判断:

if <条件判断1>:    <执行1>elif <条件判断2>:    <执行2>elif <条件判断3>:    <执行3>else:    <执行4>

elif是else if的缩写。如果第一个if判断为true,则自动忽略后面的条件。

if x:
print(‘True’)

如果x是非零数值,非空字符串,非空list等,就判断为true。

input中出现的问题:

birth = input('birth: ')if birth < 2000:    print('00前')else:    prin('00后')

input得到的birth是str形式,无法直接与数值(2000)判断,因此要将str转换为int–利用int函数。

s = input('birth: ')birth = int(s)if birth < 2000:    print('00前')else:    print('00后')

练习:

a=input('请输入身高')b=input('请输入体重')height=float(a)weight=float(b)bmi=weight/(height**2.00)if bmi>32:    print('严重肥胖')elif bmi>28:    print('肥胖')elif bmi>25:    print('过重')elif bmi>18.5:    print('正常')else:    print('过轻')

循环

for…in…
while…

range(x)函数可以生成小于x的整数序列,再通过list(range())将其转化为list。

练习:

L=['Bart','Lisa','Adam']for x in L:    print('Hello,',x)

result

可以用break提前退出循环;用continue跳过此次循环,continue后面的语句不会执行。break和continue都必须配合if一起使用。
break和continue都会造成代码执行逻辑分叉过多,容易出错,因此尽量不使用。
如果遇到死循环,可以ctrl+c强制退出程序。

练习:死循环

sum=list(range(2))for x in sum:    if x>=0:        sum.append(10)print(sum)

集合

dict:
dict全称dictionary,相当于字典,利用key-value存储。一个key对应一个value,如果赋多个值,后面的值会把前面的值冲掉。
可以先判断key是否存在:
1)通过in判断

'Thomas' in dFalse

2)通过get方法,会返回none或者自己设定的值。返回none时python交互式命令行不显示结果。

d.get('Thomas')d.get('Thomas', -1)

若要删除key,可以用pop(key)方法,key对应的value也会被删除。

dict与list:
dict存取速度快,不会随着内容的增加而降低速度。但是占用的内存要比list大,因此dict属于利用空间换取时间。

dict中的key必须是不可变的,因为查询是依靠key来实现的,若是key改变了,则内部查询将混乱。因此key可以是字符串,整数等,但不能是list。

set:
set也是一个key的集合,但是没有value。其中的key是不可以重复的,且是无序的。可以通过add(key)和remove(key)方法来增加或删除。同样key必须是不可变的,不能是list。

不可变对象:
list是可变对象,可以对其进行操作改变list。比如:利用sort()方法进行排序。
而对于可变对象,例如str。

a = 'abc'>>> a.replace('a', 'A')'Abc'>>> a'abc`

当我们用A取代a时,创建了一个新的的字符串Abc并返回,但是a变量并没有指向这个新的字符串,而依然指向abc。

练习:tuple和dict,set
之前学过的tuple是与list类似但不相同的集合,tuple中的元素初始化后即确定不可更改,因此tuple其实是不可变的,可以作为key给到dict和set。

tuple=(1,2,3)d={tuple}print(tuple[1])s=set(tuple)print(s)

这里写图片描述
但是如果tuple中的元素有list的话,list是可变的,则tuple也成为了可变的,则不能作为key。

tuple=(1,[2,3])d={tuple}print(tuple[1])s=set(tuple)print(s)

这里写图片描述

原创粉丝点击