美文网首页
day5-分支和循环

day5-分支和循环

作者: 杨海py | 来源:发表于2018-11-12 14:37 被阅读0次

1.分支结构

python中的分支结构只有if语句,没有switch

1.if语句
语法:
if 条件语句:
代码段

说明:
if 关键字
条件语句 不能是赋值语句
: 固定
代码段 和if保持缩进

执行过程:
先判断条件语句的结果是否是True,如果是True,执行冒号后面的代码段,否则不执行
注意:如果条件语句的结果不是布尔,会先将结果转换成布尔再判断

if 10:
    print('条件语句是10')

if True:
    print('条件语句是True')

num = 12
if num & 1 == 0:
    print('%d是偶数' % num)
print('--------------')

运行:


image.png
  • 产生一个年龄的随机数,打印年龄,如果年龄大于等于18,打印'成年'
    import random
age = random.randint(0, 100)
if age >= 18:
    print('成年')
print('年龄:', age)

运行:


image.png

2.if...else
语法:
if 条件语句:
代码段1
...
else:
代码段2
...
执行过程:
判断条件语句是否为True 否则执行else

  • 随机产生一个整数,如果是奇数打印'xxx是奇数',否则打印'xxx是偶数'
    import random
num = random.randint(0, 100)
if num & 1:
    print('%d是奇数' % num)
else:
    print('%d是偶数' % num)

运行:


image.png

3.if...elif...else
语法;
if 条件语句1:
代码段1
elif 条件语句2:
代码段2
...
else:
代码段n

先判断条件语句是否为True,为True就执行代码段1,
否则就判断elif后面的条件语句,为True就执行相应代码,
否则继续往后判断;如果都为False则执行else后面的代码

注意:后面条件判断的前提是前面的条件不成立
这里的elif根据情况可以有多个,else也可以省略

  • 60-70及格 70-90 良好 90以上优秀 60以下不合格
grade = float(input('请输入一个数:'))
if grade >= 90:
    print('优秀')
elif 70 <= grade < 90:
    print('良好')
elif 60 <= grade < 70:
    print('及格')
else:
    print('不合格')

运行:


image.png

4.if嵌套
可以在if,elif,else后面的代码段中,都可以写其他的if语句

  • 如果一个数是偶数就打印'偶数',否则就打印'奇数'。如果偶数还能被4整除,再打印'4的倍数'
num = int((input('请输入一个自然数:')))
if num & 1:
    print('奇数')
else:
    print('偶数')
    if num % 4 == 0:
        print('4的倍数')

运行:


image.png
  • 输入一个字符串,判断字符串的第一个字符是否是字母,如果是打印'第一个字符是字母', 如果这个字母大写,再打印大写字母
str1 = input('请输入一串字符:')
if str1[0].isalpha():
    print('第一个字符是字母')
    if str1[0].isupper():
        print('大写字母')

运行:


image.png

2.for循环

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

什么时候用循环:某个操作需要重复执行,就考虑用循环

1.for循环
语法:
for 变量 in 序列:
循环体

for in 关键字
序列 字符串、列表、元组、字典、集合、迭代器
循环体 和for保持缩进的一条或者多条语句(需要重复执行的代码)

执行过程:
让变量去序列中取值,一个一个的取,取完为止,每取一个值,执行一次循环体
for(循环中,序列中元素的个数,决定了循环次数)

注意:如果for后面的变量取到的值,在循环体里用不到,那么变量命名的时候,用_命名

for _ in 'abc':
print('********')

2.range
range(n) 产生一个数字序列 0 ~ n-1
range(m,n) m ~ n-1
range(m,n,step)

range 一般用在需要产生指定范围的数字序列
单纯的控制for循环的循环次数

for num in range(0, 10, 2):
    print(num)

- 练习:求1+2+3+5+...+100
sum1 = 0
for num2 in range(1, 101):
    sum1 += num2
print(sum1)

- 练习:2+4+...+100
sum = 0
for num in range(0, 101, 2):
    sum += num
print(sum)

- 练习:写程序统计一个字符串中数字字符的个数
str1 = input('请输入一个字符串:')
count = 0
for str2 in str1:
    if str2.isdigit():
        count += 1
print(count)

运行:


image.png

3.while循环

  • 1.while循环
    语法:
    while 条件语句:
    循环体

while 关键字
条件语句 有结果的表达式(除了赋值语句,一般的都可以)
循环体 和while保持缩进

执行过程:
判断条件语句是否为True 为True 执行循环体
然后重复执行 直到条件语句为False 循环结束

  • 1 * 2 * ... *10
    sum = 1
    num = 1
    while num <= 10:
    sum *= num
    num += 1
    print(sum)

  • 使用while循环,获取字符串'abc123'中的每个字符
    str1 = 'abc123'
    index = 0
    while index < len('abc123'):
    print(str1[index])
    index += 1

  • 2.for循环和while循环的选择
    python中for循环能做的while循环都可以做
    但是while循环能做的for循环不一定能做

使用for循环
a.循环次数确定
b.获取序列中的元素

使用while循环
死循环
循环次数不确定

  • 练习:程序可以不断地进行输入 直到输入的值为0为止
    num = input('请输入:')
    while num != '0':
    num = input('请输入:')

4.continue、break和else

  • 1.continue是一个关键字,只能写在循环体中

功能:当程序执行中遇到continue会结束当次循环,直接进入下次循环的判断
直接进入下次循环的判断:for循环就是用变量取下一个值,while循环就是直接判断条件语句是否为False

sum1 = 0
for x in range(100):
if x % 2 == 0:
continue
sum1 += x
print(sum1)

  • 2.break是一个关键字,只能写在循环体中

功能;当循环过程中遇到break,当前整个循环直接结束

num = 1
sum1 = 0
while True:
sum1 += num
num += 1
if sum1 >= 100:
break
print(sum1)

3.else
语法:
while 条件语句:
循环
else:
代码段

for 变量 in 序列:
循环体
else:
代码段

else不会影响原循环过程 当循环自然死亡,就会执行else后面的代码
当循环遇到break结束的时候不会执行else后面的代码段

相关文章

  • day5-循环和分支

    一、if语句 1.if就是在程序中用来做判断的 a.代码是从上往下依次执行的b.import是导入一个模块/包的关...

  • Day5-分支和循环

    一、分支结构 python中的分支结构只有if结构,没有switch if就是在程序用来做判断的(需要在满足某个条...

  • day5-分支和循环

    1.分支结构 python中的分支结构只有if语句,没有switch 1.if语句语法:if 条件语句:代码段 说...

  • day5-分支和循环

    02-分支结构 """python中分支结构只有if语句,没有switch """ 1.if语句 """a.语法i...

  • day5-分支和循环总结

    python中的分支结构只有if语句,没有switch 一.if语句 a.语法:if 条件语句:代码段 b.说明:...

  • day5-分支和循环总结

    5.1 分支结构 python中分支结构只有if语句,没有switch语句 5.1.1 if语句 a.语法:if ...

  • day5-分支和循环作业

    读程序,总结程序的功能: 输出2^20次方的值 求1~100内所有能被3或7整除但不能被21整除的数个数 编程实现...

  • 作业day5-循环和分支

    基础 读程序,总结程序的功能: 答案:计算2的20次方 答案:计算1-100中能被3或7整除,但不能被21整除的个...

  • day5-循环与分支

    一、分支结构 1.if结构 定义:在程序中用来做判断的结构 作用:在满足某个条件的时候,才执行之后的代码 语法: ...

  • day5-分支结构和循环结构总结

    1.分支结构 1.1 if分支结构 a.语法:if 条件语句:代码段b.说明:if - 关键字条件语句 - 任何有...

网友评论

      本文标题:day5-分支和循环

      本文链接:https://www.haomeiwen.com/subject/zvbzxqtx.html