Python流程控制

分支结构

  • 单向分支

  • 双向分支

  • 多向分支

  • 巢状分支

  • 用户输入input()

  • 分支结构实例

code:

# ****************************************
# 流程控制
# 分支结构:单向分支,双向分支,多向分支
# 单向分支
print("单向分支*******************************************************")
a = 5
if a == 9:
    print("单向分支!")
# *********************************************
# 双向分支
print("双向分支*******************************************************")
if a == 9:
    print("双向分支True!")
else:
    print("双向分支False!")
# ***********************************************
# 多向分支---没有else语句也不会报错
print("多向分支*******************************************************")
if 9 <= a <= 10:
    print("多向分支9~10!")
elif 8 <= a < 9:
    print("多向分支8~9!")
elif 7 <= a < 8:
    print("多向分支7~8!")
elif 6 <= a < 8:
    print("多向分支6~7!")
else:
    print("多向分支不及格!")
# *************************************************
# 巢状分支
print("巢状分支*******************************************************")
"""
就是if里面嵌套if----3~5层,不要太多
if 表达式a:
    if 表达式b:
        if表达式c:
            ...
"""
b = 20
if a == 5:
    if b > 4:
        print('巢状分支!')
# **********************************************
# year = input("请输入年份:")
# ***********************************************
# 分支结构实战
# 根据用户输入的年份判断该年的生肖
# 子鼠、丑牛、寅虎、卯兔、辰龙、巳蛇、午马、未羊、申猴、酉鸡、戌狗、亥猪
# 这个题也可以使用分支结构,但是呢下面写这个更好些哈哈哈,代码少,所以我就只留了这个
print("分支结构实战*******************************************************")
data = int(input("请输入年份:"))
varlist = ('申猴','酉鸡','戌狗','亥猪','子鼠','丑牛','寅虎','卯兔','辰龙','巳蛇','午马','未羊')
yearlist = [0,1,2,3,4,5,6,7,8,9,10,11]
print(varlist[data%12])

运行结果:

E:\Programs_Way\Python\python.exe D:/Prj/Python/Study_Basic_Grammar/_11Process_control_branch_structure.py
单向分支*******************************************************
双向分支*******************************************************
双向分支False!
多向分支*******************************************************
多向分支不及格!
巢状分支*******************************************************
巢状分支!
分支结构实战*******************************************************
请输入年份:2022
寅虎
​
Process finished with exit code 0

循环结构

  • while循环

  • for循环

  • 特殊语句 break,continue,pass,exit(),quit()

  • 实例---输出十行十列☆★

  • 实例---输出乘法表

  • 实例---输出斐波拉契数列

  • 实例---百钱买百鸡

code:

# *********************************************************
# 循环结构
# while循环:判断当前的条件是否成立,如果成立则执行循环体,否则退出循环
print("while循环**********************************************************")
num = 1
while num <= 3:
    print(f'num = {num} < 10')
    num = num+1  # 更改变量,目的是为了保证循环正常结束
# for循环:通常用来遍历一个容器类型的数据,那么中间的i变量就是当前容器类型的每一个元素
print("for循环**********************************************************")
varsdata = '123'  # 是一个str
print(varsdata,type(varsdata))
# 对于容器类型可以使用这种方式
print('for循环---关于容器类型*******************************')
for i in varsdata:
    print(f'i = {i}')
# 如果需要实现x~y之间的数据可以使用以下方式
print('for循环---关于数据范围********************************')
for i in range(1,5,2):
    print(f'i = {i}')
# ***********************************************************
print('关于一些特殊语句******************************')
# break --- 和C语言一样的含义,当满足条件时,跳出循环
# continue --- 和C语言一样的含义,当满足条件时,结束本次循环,进行下一次循环
# pass --- 就是占位语句
# exit() and quit() --- 就是结束当前执行的程序
# ***********************************************************
# 输出十行十列☆★ --- 这段代码就是为了说一个减少循环维数的方式
print('输出三行十列星星******************************')
for i in range(1,31):
    if i % 20 in range(1, 11):
        if i % 2 == 1:
            print('☆', end="")
        else:
            print('★', end="")
    else:
        if i % 2 == 1:
            print('★', end="")
        else:
            print('☆', end="")
    if i % 10 == 0:
        print('\n', end="")
# ***************************************************
# 输出乘法表
print('输出乘法表******************************')
for i in range(1,10):
    for j in range(1,i+1):
        print(f'{j}X{i} = {i*j}',end=" ")
    print('\n', end="")
# ***************************************************
# 输出斐波拉契数列
print('斐波拉契数列******************************')
x, y = 0, 1
for i in range(1, 10):
    print(str(x), end=" ")
    print(str(y), end=" ")
    x = x + y
    y = x + y
# **************************************************
# 百钱买百鸡---一共有100块钱,需要买100只鸡,公鸡==3元,母鸡==1元 小鸡==0.5元
# 问:100块钱买100只鸡,一共有多少种方案
print('\n百钱买百鸡******************************')
num = 0
for gj in range(0, 34):
    for mj in range(0, 101):
        xj = 100-gj-mj
        if gj*3+mj+0.5*xj == 100:
            print(f'公鸡{gj}只,母鸡{mj}只,小鸡{xj}只,{100.00}元')
            num = num + 1
print(f'有{num}种方案!')

运行结果:

E:\Programs_Way\Python\python.exe D:/Prj/Python/Study_Basic_Grammar/_12Process_control_Loop_Structure.py
while循环**********************************************************
num = 1 < 10
num = 2 < 10
num = 3 < 10
for循环**********************************************************
123 <class 'str'>
for循环---关于容器类型*******************************
i = 1
i = 2
i = 3
for循环---关于数据范围********************************
i = 1
i = 3
关于一些特殊语句******************************
输出三行十列星星******************************
☆★☆★☆★☆★☆★
★☆★☆★☆★☆★☆
☆★☆★☆★☆★☆★
输出乘法表******************************
1X1 = 1 
1X2 = 2 2X2 = 4 
1X3 = 3 2X3 = 6 3X3 = 9 
1X4 = 4 2X4 = 8 3X4 = 12 4X4 = 16 
1X5 = 5 2X5 = 10 3X5 = 15 4X5 = 20 5X5 = 25 
1X6 = 6 2X6 = 12 3X6 = 18 4X6 = 24 5X6 = 30 6X6 = 36 
1X7 = 7 2X7 = 14 3X7 = 21 4X7 = 28 5X7 = 35 6X7 = 42 7X7 = 49 
1X8 = 8 2X8 = 16 3X8 = 24 4X8 = 32 5X8 = 40 6X8 = 48 7X8 = 56 8X8 = 64 
1X9 = 9 2X9 = 18 3X9 = 27 4X9 = 36 5X9 = 45 6X9 = 54 7X9 = 63 8X9 = 72 9X9 = 81 
斐波拉契数列******************************
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 
百钱买百鸡******************************
公鸡0只,母鸡100只,小鸡0只,100.0元
公鸡1只,母鸡95只,小鸡4只,100.0元
公鸡2只,母鸡90只,小鸡8只,100.0元
公鸡3只,母鸡85只,小鸡12只,100.0元
公鸡4只,母鸡80只,小鸡16只,100.0元
公鸡5只,母鸡75只,小鸡20只,100.0元
公鸡6只,母鸡70只,小鸡24只,100.0元
公鸡7只,母鸡65只,小鸡28只,100.0元
公鸡8只,母鸡60只,小鸡32只,100.0元
公鸡9只,母鸡55只,小鸡36只,100.0元
公鸡10只,母鸡50只,小鸡40只,100.0元
公鸡11只,母鸡45只,小鸡44只,100.0元
公鸡12只,母鸡40只,小鸡48只,100.0元
公鸡13只,母鸡35只,小鸡52只,100.0元
公鸡14只,母鸡30只,小鸡56只,100.0元
公鸡15只,母鸡25只,小鸡60只,100.0元
公鸡16只,母鸡20只,小鸡64只,100.0元
公鸡17只,母鸡15只,小鸡68只,100.0元
公鸡18只,母鸡10只,小鸡72只,100.0元
公鸡19只,母鸡5只,小鸡76只,100.0元
公鸡20只,母鸡0只,小鸡80只,100.0元
有21种方案!
​
Process finished with exit code 0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jasmine-Lily

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值