python学习笔记(程序的流程控制)

本文详细介绍了Python中的基本控制结构,包括嵌套if语句、and/or逻辑连接、for和while循环,以及如何使用break、continue和pass关键字。通过实例展示了条件判断、用户登录验证、矩阵和几何图形的打印等。

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

1.嵌套if的使用 

ans=input("请问您喝酒了吗")
if ans=='y':
    proof=eval(input("输入酒精度数:"))
    if proof<20:
        print("可以开车")
    elif proof<80:
        print("您已喝酒,不能开车")
    else:
        print("您已醉酒,禁止开车")
else:
    print("可以开车")

2.使用and连接多个选择条件

user_name=input("请输入用户名:")
pwd=input("请输入密码:")
if user_name=="ty" and pwd=="666666":
    print("登陆成功")
else:
    print("用户名或密码错误")

3.使用or连接多个选择条件

score=eval(input("请输入您的成绩:"))
if score<0 or score>100:
    print("您的成绩有误,请重新输入:")
else:
    print("您的成绩为:",score)

4.for循环使用

print("-"*10+"循环输出单词字母"+"-"*10)
for i in "range":
    print(i)

print("-"*10+"判断10以内的偶数"+"-"*10)

# range函数,python中的内置函数,产生一个[n , m)的整数序列,包含n,但是不包含m
for i in range(1,10):
    if i%2==0:
       print(i,'是偶数')

# 输出100-999之间的水仙花数
# 例如:153=1*1*1+5*5*5+3*3*3
print("-"*10+"10输出100-999之间的水仙花数"+"-"*10)
for i in range(100,1000):
    a=i%10 # 个位数字
    b=i//10%10 # 十位数字
    c=i//100 # 百位数字
    s=a**3+b**3+c**3
    if i==s:
        print(i)

5. while循环的使用

print("-"*10+"判断是否上课"+"-"*10)
ans=input("今天要上课吗?y/n") #初始化变量
while ans=="y": #条件判断
    print("需要上课") #语句块
    ans=input("今天要上课吗?y/n") #改变变量

print("-" * 10 + "1-100累加和" + "-" * 10)
s=0 # 存储累加和
i=1 # 初始化变量
while i<=100: #条件判断
    s+=i
    i+=1 # 语句块
print(s)

6.使用while循环模拟用户登录

i=0 # (1)初始化变量
while i<3: # (2)条件判断
    # (3)语句块
    user_name=input("请输入您的用户名:")
    pwd=input("请输入您的密码")
    # 登录操作
    if user_name=='ty' and pwd=='666666':
        print('正在登录ing')
        i=4 # (4)改变变量
    else:
        if i<=2:
            print('用户名或密码错误,您还有',2-i,'次机会')
        i+=1 # (4)改变变量
# 单分支的判断
if i==3:
    print("三次登录均失败")

 

7.使用嵌套循环打印输出长方形和三角形

print('-'*10+'打印输出三行四列*矩阵'+'-'*10)
for i in range(1,4):
    for j in range(1,5):
        print('*',end='') # end=''表示不换行
    print() # 换行

print('-'*10+'打印输出5行*型直角三角形'+'-'*10)
for i in range(1,6):
    for j in range(1,i+1):
        print('*',end='')
    print()

print('-'*10+'打印输出倒5行*型直角三角形'+'-'*10)
for i in range(1,6):
    for j in range(1,7-i):
        print('*',end='')
    print()

print('-'*10+'打印输出倒5行*型等腰三角形'+'-'*10)
for i in range(1,6):
    for j in range(1,6-i):
        print(' ',end='')
    for k in range(1,i*2):
        print('*',end='')
    print()

8.嵌套循环打印输出菱形

row=eval(input('请输入你要打印的行数:'))
while row%2==0:
    print('请重新输入菱形的行数!')
    row = eval(input('请输入你要打印的行数:'))
top_row=(row+1)//2
# 菱形上半部分
for i in range(1,top_row+1):
    for j in range(1,top_row+1-i):
        print(' ',end='')
    for k in range(1,i*2):
        print('*',end='')
    print()
# 菱形下半部分
bottom_row=row//2
for i in range(1,bottom_row+1):
    for j in range(1,i+1):
        print(' ',end='')
    for k in range(1,2*bottom_row-i*2+2):
        print('*',end='')
    print()

9.嵌套循环打印输出空心菱形

# 打印输出空心菱形
row=eval(input('请输入你要打印的行数:'))
while row%2==0:
    print('请重新输入菱形的行数!')
    row = eval(input('请输入你要打印的行数:'))
top_row=(row+1)//2
# 菱形上半部分
for i in range(1,top_row+1):
    for j in range(1,top_row+1-i):
        print(' ',end='')
    for k in range(1,i*2):
        if k==1 or k==i*2-1:
            print('*', end='')
        else:
            print(' ', end='')
    print()
# 菱形下半部分
bottom_row=row//2
for i in range(1,bottom_row+1):
    for j in range(1,i+1):
        print(' ',end='')
    for k in range(1,2*bottom_row-i*2+2):
        if k==1 or k==2*bottom_row-i*2+2-1:
            print('*', end='')
        else:
            print(' ', end='')
    print()

10.break和continue的使用

# break
s=0
i=0 # 初始化变量
while i<20: # 条件判断
    # 语句块
    s+=i
    if s>100:
        print('累加和大于100的当前数是',i)
        break
    i+=1 # 改变变量
s=0
for i in range(1,20):
    s+=i
    if s>100:
        break
print('累加和大于100的当前数是',i)

# continue
i=0
s=0 # (1)初始化变量
while i<100: # (2)条件判断
    # (3)语句块
    if i%2==1: # 奇数
        i+=1
        continue # 不在执行后面的代码

    # 累加求和代码
    s+=i
    i+=1
print('1-100之间的偶数和',s)
s=0
for i in range(1,100):
    if i%2==1:
        continue
    s+=i
print('1-100之间的偶数和',s)

11.pass的使用:
pass是Python中的保留字在语法结构中只起到占位符作用,使语法结构完整,不报错一般可用在if、for、while、函数的定义、类的定义中

for i in range(10):
    pass

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值