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

 

posted @ 2016-11-01 11:54  sniperlr  阅读(115)  评论(0)    收藏  举报