条件判断
if语句,根据Python的缩进规则,如果判断是true,就会把后面缩进的语句都执行
age=20
if age>=18:
print('your age is',age)
print('adult')
elif age>=16:
print('teenager')
else:
print('kid')
input()语句返回的数据不能直接比较,要先转化为整数,用到int()函数(python2则可以直接比较)
s=input('birth:')
birth=int(s)
if birth<2000:
print('adult')
else:
print('teenager')
循环
Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来
names=['mike','bob','hong']
for name in names:
print(name)
Python提供了一个range()函数,可以生成一个整数序列
计算1到100之和
sum = 0
for x in range(101):
sum = sum + x
print(sum)
第二种循环是while循环,只要条件满足,就不断循环,条件不满足时退出循环。计算100以内奇数之和
sum =0
n=99
while n>0:
sum=sum+n
n=n-2
print(sum)
break语句可跳出循环
n = 1
while n <= 100:
if n > 10: # 当n = 11时,条件满足,执行break语句
break # break语句会结束当前循环
print(n)
n = n + 1
print('END')
continue可跳出当前循环进入下一次循环
n = 0
while n < 10:
n = n + 1
if n % 2 == 0: # 如果n是偶数,执行continue语句
continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行
print(n)
dict
Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。
和list比较,dict有以下几个特点:
1. 查找和插入的速度极快,不会随着key的增加而变慢;
2. 需要占用大量的内存,内存浪费多。
而list相反:
1. 查找和插入的时间随着元素的增加而增加;
2. 占用空间小,浪费内存很少。
>>> d={'michael':95,'bob':75,'tracy':85} #定义dict
>>> d['bob'] #查找
75
>>> d['tom']=65 #插入
>>> d['tom']
65
>>> d['tom']=55 #修改
>>> d['tom']
55
>>> 'bob'in d #判断bob是否存在dict d里面
True
>>> 'abc' in d
False
>>> d.get('bob')
75
>>> d.get('abc') #判断abc是否在dict d里面,存在返回对应`值,不存在返回none(空)
set
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
>>> s=set([1,2,1,3,2]) #定义
>>> s
{1, 2, 3}
>>> s.add(5) #添加
>>> s
{1, 2, 3, 5}
>>> s.remove(3) #移除
>>> s
{1, 2, 5}
>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2 #与
{2, 3}
>>> s1 | s2 #或
{1, 2, 3, 4}
str是不变对象,而list是可变对象。
对于可变对象,比如list,对list进行操作,list内部的内容是会变化的
>>> a = ['c', 'b', 'a']
>>> a.sort()
>>> a
['a', 'b', 'c']
对于不可变对象,比如str
>>> a = 'abc'
>>> b = a.replace('a', 'A') #A替换掉a并返回,但是没有改变a的值,b等于返回的结果
>>> b
'Abc'
>>> a
'abc'