Lec2 条件/循环
条件判断
1. if if语句判断为True,执行缩进语句,否则什么也不做。 例:输入用户年龄,根据年龄打印不同的内容
>>> age=20 >>> if age>=18: print('your age is',age) print('adult') your age is 20 adult
2. if else
>>> age=8 >>> if age >= 18: print('your age is', age) print('adult') else: print('your age is', age) print('teenager') your age is 8 teenager
注意冒号的使用不能缺省。
3. elif (else if的缩写)
>>> age = 3 >>> if age >= 18: print('adult') elif age >= 6: print('teenager') else: print('kid') kid
if语句的完整形式:
if <条件判断1>: <执行1> elif<条件判断2> <执行2> elif<条件判断3> <执行3>
... else: <执行4>
if语句执行从上往下判断,若在某个判断上是True,把该判断对应的语句执行后,就会忽略掉剩下的elif和else语句:
>>> age = 20 >>> if age >= 6: print('teenager') elif age >= 18: print('adult') else: print('kid') teenager
if判断条件简写:(x为非零数值/非空字符串/非空list等判断为True,否则无任何动作)
>>> x=0 >>> if x: print('True') 什么都没做 >>> x=1 >>> if x: print('True') True print True >>> x=None >>> if x: print('True') 什么都没做
例子:读输入input()
birth = input('birth:') if birth < 2000: print('00 qian') else: print('00 hou')
报错:
birth:1994 Traceback (most recent call last): File "/Users/liuliuren/Documents/python/Untitled.py", line 3, in <module> if birth < 2000: TypeError: unorderable types: str() < int() >>>
input()返回的数据类型是str,而str不能直接和int比较,先用int()函数把str转换成int:
s = input('birth:') birth=int(s) if birth < 2000: print('00 qian') else: print('00 hou')
>>>
birth:1994
00 qian
for循环
1.遍历 (for in) 注意冒号不能缺
>>> names = ['hjr','lr','hjj','lqq'] >>> for name in names: print(name) hjr lr hjj lqq
2.求和1~100
整数序列函数 :range(5)生成的是从0开始到4的整数序列
>>> list(range(5))
[0, 1, 2, 3, 4]
range(101)生成从0到100的整数序列,求和如下:
>>> sum = 0 >>> for x in list(range(101)): sum = sum + x >>> sum 5050
while循环(条件满足不断循环,条件不满足退出循环)
1.求100以内的奇数和:
sum = 0 n = 1 while n < 100: sum = sum + n n = n + 2 print(sum)
>>> 2500
浙公网安备 33010602011771号