千锋day4

一、if多分支机构:if-elif-else

  1. 应用场景:根据不同的条件执行不同的操作

  2. 语法:
    if 条件语句1: # 如果成立
    代码段1
    elif 条件语句2: # 如果不成立
    代码段2

    else: # 如果上述均不成立,其他情况
    代码段N

  3. 执行过程:从上往下依次判断条件语句的结果是否为True。

例:定义两个变量保存⼀个⼈的身⾼和体重,编程实现判断这个⼈的身材是否正常。

height = float(input('please input your height(m):'))
weight = float(input('please input your weight(kg):'))
if 18.5 <= weight / height ** 2 <= 24.9:
    print("正常")
elif weight / height ** 2 < 18.5:
    print("偏瘦")
else:
    print("偏胖")

练习:输入成绩,如果输入的成绩在90分以上(含90分)输出A;80分-90分(不含90分)输出B;70分-80分(不含80分)输出C; 60分-70分(不含70分)输出D;60分以下输出E。

score = float(input('please input your score:'))
if score >= 90:
    print('A')
elif score >= 80:        # elif 80 <= score < 90:
    print('B')
elif score >= 70:        # elif 70 <= score < 80:
    print('C')
elif score >= 60:        # elif 60 <= score < 70:
    print('D')
else:
    print('E')

二、if嵌套if结构(if,elif,else)里面还有其他的 if

练习:输入一个数,如果输入的数是偶数就打印“偶数”,否则打印奇数;如果这个数能被4整除,还要打印“4的倍数”。

x = int(input('please input an integer:'))
if x % 2 == 0:
    print('偶数')
    if x % 4 == 0:                # 也可以写在最后,但这样嵌套写性能更好
        print('4的倍数')
else:
    print('奇数')

三、循环

  1. 循环结构-让代码重复执行多次(for循环,while循环)

  2. for循环

    2.1 语法
    for 变量 in 序列:
    循环体
    说明:
    序列指容器类型数据类型的数据,例如:range、字符串、列表、字典、元组、集合、迭代器、生成器等;
    循环体指需要重复执行的代码;
    2.2 执行过程:
    让变量去序列中取值,一个一个的取,取完为止;每取一个值执行一次循环体
    (for循环的循环次数由序列中元素的个数决定)

例:

for x in 'abcd':
    print('hello')
# 第一次循环:x = 'a',打印一次,第二次循环:x = 'b'.打印一次...一直到第五次:x取不到值,循环结束。
for x in 'python':
    print(x)         # python中每个字母打印一行
  1. range函数

    range(N),表示0到N的前闭后开的区间范围:range(10)表示0到9;
    range(M,N),表示M到N的前闭后开的区间范围,里面包含:M,M+1,M+2…,N-1;

    range(M,N,Step),表示从M到N的前闭后开的区间范围,step为步长,如果步长step为2,即差为2的等差数列,不设置默认为1。
    range(1,10,2) # 1,3,5,7,9

例1;"++++"打印10次:

for x in range(10):
    print("++++")

例2:

for i in range(5,10):
    print(i)

练习:产生数字范围-100到-1,并且打印出来

for i in range(-100,0):
    print(i)

练习:写程序产生数字:
1)-1, -3, -5, -7, -9
2)5,4,3,2,1

for x in range(-1,-10,-2):
    print(x)
for i in range(5,0,-1):
    print(i)

练习1:计算1+2+3+…+100的和:

result = 0          #  存储求和的结果,设置默认为0,不影响结果
for i in range(1,101):
    result += i
print(result)

练习2:求10+20+30+…+100的和

result = 0
for x in range(10,101,10):
    result += x
print(result)

统计个数:

​ 练习3统计1~100中能被3整除的数的个数

# 方法一:
sum1 = 0
for i in range(1, 101):
    if i % 3 == 0:
        sum1 += 1
print(sum1)
# 方法二:
count = 0
for i in range(3, 101, 3):
    count += 1
print(count)
  1. while循环

    1.1 语法:

    while 条件语句: # 任何有结果的表达式都可以(赋值语句不行)

    ​ 循环体

    • while循环执行过程图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DbEtfBAl-1611235518028)(C:\Users\kudo\Desktop\QQ图片20210121154522.png)]

​ 1.2 执行过程

​ 不断判断条件语句的结果是否为True,如果为True就执行循环体,然后再判断;如果为False,循环结束。

  1. for循环和while循环的选择
    若循环次数确定,使用for循环;若循环次数不确定,使用while循环。

练习:不断输入数据,直到输入的内容是0为止

x = 1
while x != 0:
    x = int(input("请输入一个数:"))

四、循环关键字:continue、break

continue&break的执行示意图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4z2cPuVH-1611235518031)(C:\Users\kudo\Desktop\QQ图片20210121161232.png)]

  1. continue

    • 只能出现在循环体中

    • continue的作用:结束当次循环,直接进入下一次循环的判断

   for x in range(1,11):
       if x % 3 == 0:
           continue           # 当x是3的倍数时,就执行continue,不会打印出来
       print(x)
  1. break
    • 只能出现在循环体中
    • break的作用:直接结束整个循环
while True:                                 # 第一步:while True
    value = int(input("请输入数字:"))        # 第二步:描述清楚需要重复执行的操作
    if value == 0:                          # 第三步:添加循环结束条件
        break

练习:使用while循环打印1~10

x = 1
while True:
    print(x)
    x += 1
    if x > 10:
        break
  1. else

    1) 完整 for循环:
    for 变量 in 序列:
        循环体
    else:
        代码段
    2)完整 while循环:
    while 条件语句:
        循环体
    else:
        代码段
    
    • else的存在不影响原来循环的执行。
    • 当循环程序自然结束,else后面的代码段会执行;当循环因为遇到break而结束的,那else后面的代码段不会执行。
# 判断一个数是质数:
num = 17
for x in range(2, num):
    if num % x == 0:
        print('不是质数')
        break
else:
    print('是质数')
```

- else的存在不影响原来循环的执行。
- 当循环程序自然结束,else后面的代码段会执行;当循环因为遇到break而结束的,那else后面的代码段不会执行。
# 判断一个数是质数:
num = 17
for x in range(2, num):
    if num % x == 0:
        print('不是质数')
        break
else:
    print('是质数')
上一篇:C语言程序设计Day4


下一篇:C++ Day4 指针和结构体