python第六节(条件判断与循环)

本文深入讲解Python中的条件判断与循环语句,包括if、for、while等关键字的使用方法及嵌套规则,辅以实例说明如何进行条件控制和顺序执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

条件判断与循环

条件控制

顺序执行
Python代码在执行过程中,遵循下面的基本原则:

  • 普通语句,直接执行;
  • 碰到函数,将函数体载入内存,并不直接执行
  • 碰到类,执行类内部的普通语句,但是类的方法只载入,不执行
  • 碰到if、for等控制语句,按相应控制流程执行
  • 碰到@、break、continue等,按规定语法执行
  • 碰到函数、方法调用等,转而执行函数内部代码,执行完毕继续执行原有顺序代码
    其实顺序执行,简单来说就是代码按照从上到下的顺序来执行
# print('hello world')   # 1
# def test():             # 2
#     print('我是test')
# test()
class Demo():   # 3
    print('Demo')
    def test1(self):
        print('Demo test1')
Demo()

条件判断
条件判断是通过一条或多条判断语句的执行结果(True或者False)来决定执行的代码块。
在Python语法中,使用if、elif和else三个关键字来进行条件判断。
条件判断使用原则

  • 每个条件后面要使用冒号(:)作为判断行的结尾,表示接下来是满足条件(结果为True)后要执行的语句块。
  • 除了if分支必须有,elif和else分支都可以根据情况省略。
  • 使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
  • 顺序判断每一个分支,任何一个分支首先被命中并执行,则其后面的所有分支被忽略,直接跳过!
  • 在Python中没有switch-case语句。
    条件判断嵌套
    在这里插入图片描述
# print('hello world')   # 1
# def test():             # 2
#     print('我是test')
# test()
# class Demo():   # 3
#     print('Demo')
#     def test1(self):
#         print('Demo test1')
# Demo()
# ipt = input('超市有无鸡蛋:')
# if ipt == 'yes':
#     print('买六个面包回来')
# else:
#     print("别买了")
ipt = input("今天发工资了吗?Y/N")
if ipt.upper() == 'Y':
    salary = input('请问工资多少')
    debt = input("请问欠花呗多少?")
    remain = float(salary) - float(debt)
    if remain > 1000:
        print('ye!发工资了')
    else:
        print("吃土吧!")
elif ipt.upper() == 'N':
    print('喝风把!')
else:
    print('亲,输入错误噢')

循环语句

while循环
在这里插入图片描述
while的else从句
while循环还可以增加一个else从句。当while循环正常执行完毕,会执行else语句。
注意else与while平级的缩进方式!
但如果是被break等机制强制提前终止的循环,不会执行else语句。

# # i = 1
# # while i <= 5:
# #     print('hello amy')
# #     i += 1  # i = i + 1  #计数器
# '''
# 求1~100之间的和
# '''
# n = 1
# num_sum = 0
# flag = False
# while n <= 100:   # 1  # print(n)
#     num_sum += n
#     # print(n)
#     n += 1
#     if n == 8:
#         n = 101
#         # break  # 退出循环
#         # continue   # 退出当前循环,进入下次循环
#     print(n)
# else:  # else是指条件为False的时候执行的语句
#     print("执行完毕")
'''
*
**
***
****
...
'''
# row = 1
# while row <= 4:
#     print('*'*row)
#     row += 1
row = 1
while row <= 4:
    starts = 1
    while starts <= row:
        print('*',end='')
        starts += 1
    print('')
    row += 1

for循环
虽然与while一样都是循环的关键字,但for循环通常用来遍历可迭代的对象,如一个列表或者一个字典。
循环嵌套
eg:九九乘法表

'''
只要能用循环遍历的都是可迭代的对象
list()  # 是否是可迭代(interable)的对象要看看是否有__iter__,有即是
str()  dict()
# int() # 这不是可迭代对象
for i in iterable:
    pass
1.可迭代的对象内部都有__iter__()
2.会调用iterable数据类型当中__iter__()将它转为迭代器
3.迭代器可调用__next__()方法取值,直到抛出StopIteration,结束迭代
'''
# for i in [1,2,3]:
#     print(i)
lis = [1,2,3]
lis_iter = lis.__iter__()
try:
    while True:
        print(lis_iter.__next__())
except StopIteration:
    pass
'''
range(start,stop,step)  start默认为0,左闭右开,步长默认为1'''
for i in range(1,22,3):
    print(i)
'''
程序:当我输入11-->壹拾壹元整
壹壹 ch_num[1]
'''
ch_num = ['零','壹','贰','叁','肆','伍','陆','柒','捌','玖','拾']
ch = ['园','拾','佰','仟','萬']
ipt = input('请输入多少钱:')  # '12'-->'1' '2'
len_ipt = len(ipt)  # 2
for i in ipt:
    # print(i)
    len_ipt -= 1
    # nums = ch_num[int(i)]
    # print(nums,end='')
    # res = ch[len_ipt]
    # print(res,end='')
    print("{}{}".format(ch_num[int(i)],ch[len_ipt]),end='')
print('整')
'''九九乘法表
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
...
'''
flag = False
for i in range(1,10):
    if flag:
        break
    for j in range(1,i+1):
        # print(i,j)
        if j == 3:
            flag = True
            break
        print("{}*{}={}".format(j,i,i*j),end=' ')
    print('')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值