# python笔记——for和while循环、if条件判断、input输入

2019/05/13 16:59

### 循环

>>> 1 + 2 + 3
6 

Python的循环有两种，一种是for...in循环，依次把list或tuple中的每个元素迭代出来，看例子：

names = ['Michael', 'Bob', 'Tracy']
for name in names: print(name) 

Michael
Bob
Tracy


sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]: sum = sum + x print(sum) 

>>> list(range(5))
[0, 1, 2, 3, 4]range(101)就可以生成0-100的整数序列，计算如下sum = 0for x in range(101):    sum = sum + xprint(sum)


sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2 print(sum) 

### 条件判断

age = 20
if age >= 18:
print('your age is', age) print('adult') 

age = 3
if age >= 18:
print('your age is', age) print('adult') else: print('your age is', age) print('teenager') 

age = 3
if age >= 18:
print('adult')
elif age >= 6: print('teenager') else: print('kid') 

elifelse if的缩写，完全可以有多个elif，所以if语句的完整形式就是：

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

if语句执行有个特点，它是从上往下判断，如果在某个判断上是True，把该判断对应的语句执行后，就忽略掉剩下的elifelse，所以，请测试并解释为什么下面的程序打印的是teenager

age = 20
if age >= 6:
print('teenager')
elif age >= 18: print('adult') else: print('kid') 

if判断条件还可以简写，比如写：

if x:
print('True')


### 再议 input

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

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unorderable types: str() > int()


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

Traceback (most recent call last):
File "<stdin>", line 1, in <module> ValueError: invalid literal for int() with base 10: 'abc' 

0
0 收藏

0 评论
0 收藏
0