2018-08-23-day04-循环和分支

一、分支结构

1.if分支结构

1).if

'''
if 条件语句:
执行语句块
说明:
a. if:python中的关键字,'如果'的意思,用来做判断
b. 条件语句:最终的结果会被转换成布尔值
c. :冒号:冒号是固定写法,必须写!
d.执行语句块:这儿可以是多行语句,但是每行语句必须和前面的if保持一个缩进
'''
执行过程:先判断条件语句的结果是否为True,如果为True就执行冒号后面的执行语句块,
否则直接执行if模块后的其他语句

练习:用一个变量保存一个学生的成绩,要求:当学生的成绩大于90的时候,打印优秀,不管成绩多少,都把成绩打印出来

score = 80
print('%d:'%(score),end='')
if score>90:
    print("优秀")

2)if-else

语法:
if 条件语句:
执行语句块1
else:
执行语句块2
说明:else:关键字(else后面的冒号不能省)
执行过程:先判断条件语句的结果是否为True,如果是就执行语句块1,执行完语句块1后再 执行其他语句,如果是False,就执行语句块2,执行完语句块2之后就执行其他的语句

要求年龄大于等于18就打印成年,否则打印未成年

    age = 12
    if age >=18:
        print("成年")
    else:
        print("未成年")

3).if-elif-else

语法:
if 条件语句1:
语句块1
elif 条件语句2:
语句块2
elif 条件语句3:
语句块3
...
else:
语句块n
#要求成绩大于90分打印优秀,80-90打印良好,60-79及格,60以下不及格

score = 78
if socre > 90:
    print('优秀')
elif score >= 80:
    print('良好')
elif socre >= 60:
    print('及格')
else:
    print('不及格')

执行顺序:先判断if里的条件语句,如果第一个条件语句不满足,则执行下一个判断

4).if语句的嵌套

每个if分支中都可以嵌套其他的if语句
if 条件1:
执行语句1
if 条件2:
执行语句2
else:
执行语句3
else:
执行语句4

练习:成绩和年龄,如果成绩大于等于90并且年龄是18及以上1000元,如果年龄小于18就获取奖金1200元,如果成绩小于90不管多少岁,就没有奖金

score = 90
age = 18
if score >= 90:
    if age >= 18:
        print("获得1000元奖金")
    else:
        print("获得1200元奖金")
else:
    print("没有奖金")

练习:产生一个随机数,判断随机数是否是偶数,如果是打印偶数,否则打印奇数,如果能被4整除,再打印能被4整除
import:是python中导入模块或者模块中内容的关键字
random是python内置的产生随机数的模块
import random

    number = random.randint(10,20) #产生一个10到20的随机整数,并且存到numer中

注意:10到20(包括20)都可能产生

import random
number = random.randint(1,100)
if number % 2:
    print('奇数:%d'%(number))
else:
    print('偶数:%d'%(number))
    if not number%4 :
        print('%d可以被4整除'%(number))


#判断一个数是否是偶数的两种写法
if number % 2 ==0:
    print('偶数')
#推荐
if not number % 2:
    print('偶数')

if number % 2:
    print('奇数') 
    
#判断一个字符串是否是空串
#方法一:

if str =='':
    print("是空串")
else:
    print("不是空串")

    #方法二:
    if len(str1) == 0:
        print("是空串")
    else:
        print("不是空串")

    #方法三:
    if str1:
        print("不是空串")
    else:
        print("是空串")

二、循环结构

python中的循环结构有两种:for循环和while循环

1.for循环的结构

for 变量名 in 序列:
    循环体

a.for:关键字
b.变量名:和声明变量时的变量名的要求一样
c.in:关键字
d:序列,容器(数据本身是由多个数据组成),例如:字符串、列表、字典、元组、集合、range、生成式和生成器
e.循环体:需要重复执行的代码

执行过程:让变量去序列中取数据,每取一次数据,执行一次循环体,取完为止

    #range函数时python中的内置函数,作用是产生指定范围中的数字
    '''
    range(N):产生0~N-1的所有整数
    range(N,M):产生N~M-1的所有整数
    range(N,M,step):从N开始,每step产生一个整数,到M之前
    
    xrange()是python2中的函数,python3中用range代替了
    '''

练习:计算1+2+3+...+100

s = 0
for i in range(101):
    s += i
print(s)

练习统计1~1000中能白3整除的个数

  #方法一
    count=0
    for i in range(0,1001,3):
        if not i:
            count = 0
        else:
            count+=1
    print(count)
  #方法二
    count=0
    for _ in range(3,1001,3):
        count += 1
    print(count)

注意:for循环中用来获取序列值的变量,在循环体不是一定要使用
如果不用,那么变量名可以命名为_

2.while循环

1).结构

while 条件语句:
    循环体

2).说明:

while:关键字
条件语句:结果是True或者False
循环体:要重复执行的代码

3).执行过程:

判断条件语句的结果是否为True,如果为True就执行循环体,执行完循环体在判断条件语句是否为True
使用while循环算出1~100的和

    s=0
    i=1
    while i < 101:
        s += i
        i += 1
    print(s)

练习,问,循环结束后,x的值和sum1的在建瓯,分别是多少

    x = 1
    sum1 =0
    while x <= 5:
        x += 1
        sum1 += x
    #x=6
    #sum1=2+3+4+5+6=20
    #x=6,sum1=20

    #for循环和while循环的选择和比较
    #for循环的循环次数是有限的,并且是固定的:while循环的循环次数不确定
    #for循环:1.遍历序列中的值。2.循环次数确定
    #while循环:1.死循环。2.循环次数不确定

    #练习:找大于10000的数中第一个能够被23整除的数
    num =10000
    while num % 23:
        num += 1
    print(num)  
    #10005

3.break和continue关键字

break和continue放到循环体有特殊的功能
break:程序执行到break,整个循环直接结束,然后执行循环外面的其他的语句
continue:程序执行到continue,结束本次循环,进入到下次循环的判断

你可能感兴趣的:(2018-08-23-day04-循环和分支)