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

day5-分支和循环总结

作者: 2333_11f6 | 来源:发表于2018-11-09 17:54 被阅读0次

5.1 分支结构

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

5.1.1 if语句

  • a.语法:
    if 条件语句 :
    代码段
  • b.说明:
    if -- 关键字
    条件语句 -- 任何有结果的表达式,不管结果类型。
    : -- 固定写法,有冒号下以下必定有缩进
    代码段 -- 和if保持一个缩进的一条或多条语句。
  • c.执行过程:
    先判断条件结果是否是True,如果是True就执行冒号后面的代码段。否则就不执行。
    注意:
    如果条件语句结果不是布尔,会先将结果转换成布尔,再判断。
    除了0,空值以外的值转为布尔都为True。

if后面可以写哪些语句

注意:赋值语句不能写在if后面,其他都可以。

num = 10
if num & 1 == 0:
    print('%d是偶数' % (num))
    print('========')              # 和if保持一个缩进的语句是在条件成立才执行
                                  # 与if无关的语句最好换个行
print('##########')           # 在if外面的语句不管if条件是否成立都会执行


if 'ADS'.isupper():
    print('全是大写')  #不执行

# 练习:随机产生一个年龄值,如果大于等于18就打印成年。
import random
age = random.randint(0,100)
if age >= 18:
    print('%d已经成年了。' %(age))
else:
    print('未成年')
print(age)

5.1.2 if-else

  • a.语法:
    if 条件语句 :
    代码段1
    else:
    代码段2
  • b.说明:
    if -- 关键字
    else -- 关键字
    条件语句 -- 任何有结果的表达式,不管结果类型。
    : -- 固定写法,有冒号下以下必定有缩进
    代码段 -- 和if及else保持一个缩进的一条或多条语句。
  • c.执行过程:
    先判断条件结果是否是True,如果是True就执行代码段1。否则就执行代码段2。
    注意:
    如果条件语句结果不是布尔,会先将结果转换成布尔,再判断。
    除了0,空值以外的值转为布尔都为True。
#随机产生一个整数,如果是奇数打印’***是奇数‘,否则,反之。
num = random.randint(0,9999)
if num & 1:
    print('%d是奇数' %(num))
else:
    print('%d是偶数' %(num))

5.1.3 if-elif-else

  • a.语法:
    if 条件语句1 :
    代码段1
    elif 条件语句2:
    代码段2
    elif 条件语句3:
    代码段3
    ...
    else:
    代码段n
  • b.说明:
    if -- 关键字
    elif -- 关键字
    else -- 关键字
    条件语句 -- 任何有结果的表达式,不管结果类型。
    : -- 固定写法,有冒号下以下必定有缩进
    代码段 -- 和if、elif及else保持一个缩进的一条或多条语句。
  • c.执行过程:
    先判断条件语句1结果是否是True,如果是True就执行代码段1。
    否则就判断条件语句2结果是否是True,如果是True就执行代码段2。
    否则就判断条件语句3结果是否是True,如果是True就执行代码段3。
    ...
    如果前面所有的条件都为False,就执行代码段n。
    注意:
    后面的条件判断的前提是前面条件不成立。
    这里的elif根据情况可以有多个,else也可以省略。
    如果条件语句结果不是布尔,会先将结果转换成布尔,再判断。
    除了0,空值以外的值转为布尔都为True。
# score 60以下不及格 60-70及格 71-89良好 90以上优秀
score = random.randint(0,100)
print('成绩为%d:' %(score),end="")
if score < 60:
    print('不及格')
elif score <= 70:
    print('及格')
elif score <= 89:
    print('良好')
else:
    print('优秀')

5.1.4 if嵌套

可以在if,elif,else后面的代码段中,都可以再写其他的if语句。

#判断一个数字是否为偶数,是的话判断是否被4整除
score = random.randint(0,100)
if score & 1:
    print('%d是奇数' %score)
else:
    if score % 4 == 0:
        print('%d是4的倍数' % score)
    else:
        print('%d是偶数' %score)
"""
练习:输入一个字符串,判断字符串的第一个字符是否是字母,如果是,打印’以字符开头'。
如果这个字母是大写的再打印’大写字母‘。
"""
str1 = input('请输入一串字符:')
if str1[0].isalpha():    #if 'a' <= str1[0] <= 'z' or  'A' <= str1[0] <= 'Z':
    print('以字母开头')
    if str1[0].isupper():          #'A' <= str1[0] <= 'Z':
        print('大写字母')
else:
    print('什么都不打印')

'''
l = []
num = 0
while num <= 888:
    num = random.randint(0, 999)
    l.append(num)
print(l)
'''

5.2 for循环

python中的循环结构有两种:for和while循环。
什么时候用循环:某个操作需要重复执行,就考虑用循环。

5.2.1 for循环

  • 语法:
    for 变量名 in 序列:
    循环体
  • 说明:
    for、in -- 关键字
    变量名 -- 满足变量名要求即可
    序列 -- 字符串,列表,元组,字典,集合,迭代器,range
    循环体 -- 可以是一条或多条和for保持一个缩进的语句(需要重复执行的代码)
  • 执行过程:
    让变量去序列中取值,一个一个的取,取完为止;每取一个值,执行一次循环体。
    (for循环中,序列中元素的个数,决定了循环的次数)
    注意:
    如果for后的变量取到的值,在循环体里不使用,那么这个变量命名时,用一个_来命名。
for x in range(97,123):
    print(chr(x), end='--->')

for x in 'abc':
    print(x)
    print('##$$#$$#$#')

5.2 range

range(n) -- 产生一个数字序列,序列内容是0~n-1(结果是一个序列)
range(m,n) -- 产生一个数字序列,序列内容是m~n-1,m<n(结果是一个序列)
range(m,n,step) -- 产生一个数字序列,序列从m开始,每次加step直到n前为止,取不到n。
range一般用在:
1.需要产生指定范围的数字序列
2.单纯的控制for循环的循环次数

for num in range(10):
    print(num, end='')
print()
for num in range(10, 20, 2):
    print(num, end='--->')

#练习:求1+2+。。+100
sum1 = 0
for num in range(1, 101):
    sum1 += num
print(sum1)
print(sum([1, 2, 3]))

#练习:2+4+6+8+。。。+100
#方法1:不用if
sum1 = 0
for num in range(1, 51):      # range(2,101,2)
    sum1 += num*2
print(sum1)
#方法2:用if
sum2 = 0
for num in range(1, 101):
    if not num &1:
        sum2 += num
print(sum2)
"""
    if num & 1:
        pass
    else:   
     sum2 += num
"""

#练习:写程序统计一个字符串中数字字符的个数
str1 = input('请输入一个字符串:')
sum1 = 0
for i in str1:
    if '0' <= i <= '9':
        print(i)
        sum1 += 1
print('数字字符的个数是:', sum1)

#用循环控制打印10行”*“
for _ in range(1,10):
    print('*')

for x in range(1, 10):
    print('*'*x)

5.3 while

5.3.1 while循环

  • 语法:
    while 条件语句:
    循环体
  • 说明:
    while -- 关键字
    条件语句 -- 有结果的表达式,除了赋值语句
    : -- 固定写法
    循环体 -- 和while保持一个缩进的一条或者多条语句(会被重复执行)
  • 执行过程:
    先判断条件语句是否为True,为True就执行循环体;
    执行完循环体再判断条件语句是否为True,为True又执行循环体;
    。。。。。
    以此类推,直到条件语句为False,就结束整个循环。
#1*2*..*10
num = 1
sum1 = 1
while num <= 10:
    sum1 *= num
    num += 1
print(sum1)
print(1*2*3*4*5*6*7*8*9*10)

#获取字符串abc123中的每个字符
str1 = 'abc123'
num = 0
while num <= 5:
    print(str1[num])
    num += 1

5.3.2 for和while循环

python中,for循环能做到的while循环都能做到;但是while循环能做的,for循环不一定能做到。

  • 使用for循环:
    1.获取序列中的元素(值)
    2.循环次数确定
  • while循环:
    1.死循环
    2.循环次数不确定
#练习:程序不断的输入,知道为0为止
i = input('请输入:')
while i != '0':
    i = input('请输入:')

5.4 continue,break和else

5.4 .1 continue

  • continue是一个关键字,只能写在循环体中
  • 功能:当循环遇到continue则会结束当次循环,直接进入下次循环判断。
  • 进入下次循环:for循环就是用变量取下一个值;while循环就是直接判断条件语句是否为True。

5.4 .2 break

  • break是一个关键字,只能写在循环体中。
  • 功能:当循环遇到break时,直接结束当前循环。

5.4.3 else python中特有

  • 语法:

while 条件语句:
循环体
else:
代码段

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

  • 执行过程:
    else结构不会影响原循环的执行过程。当循环自然死亡时,就会执行else后面的代码段。
    循环因为遇到break而结束时,不会执行else后面的代码段。
for x in range(10):
    print(x)
else:
    print('for循环结束')

相关文章

  • day5-分支和循环总结

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

  • day5-分支和循环总结

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

  • 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-分支结构和循环结构总结

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

  • day5-分支和循环作业

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

  • 作业day5-循环和分支

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

  • py_11分支和循环

    xmind总结:1.分支 2.循环 分支和循环 一、程序执行的三大流程 1.顺序执行 2.分支:选择条件执行 3....

网友评论

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

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