Python分支结构与循环结构

Python的分支结构

if语句的使用

"""
example01 - 分支结构(选择结构)

代码中有多条执行路径,但是只有其中一条被执行

Author: Asus
Date: 2021/7/21
"""
username = input('用户名:')
password = input('密码:')

if username == 'admin' and password == 'Admin123':
    print('登陆成功')
    print('欢迎使用xxx系统!')
    print('客服热线:400 - 800 - 8800')
else:
    print('登陆失败!')
    print('用户名或密码错误!')
print('程序结束,再见!')

扩展:导入getpass包,不能直接在PyCharm中运行,在PyCharm界面中找到Terminal并点击打开。操作如下图。

"""
example01 - 分支结构(选择结构)

代码中有多条执行路径,但是只有其中一条被执行

Author: Asus
Date: 2021/7/21
"""
import getpass

username = input('用户名:')
password = getpass.getpass('密码:')

if username == 'admin' and password == 'Admin123':
    print('登陆成功')
    print('欢迎使用xxx系统!')
    print('客服热线:400 - 800 - 8800')
else:
    print('登陆失败!')
    print('用户名或密码错误!')
print('程序结束,再见!')

请添加图片描述

分支结构嵌套使用

嵌套的两种形式:if...elseif...elif...else
f ( x ) = { 3 x − 5 , x > 1 x + 2 , − 1 ≤ x ≤ 1 5 x + 3 , x < − 1 f(x) = \begin{cases} 3x - 5, & x \gt 1 \\ x + 2 , & -1 \le x \le 1 \\ 5x + 3, & x \lt -1 \end{cases} f(x)=3x5,x+2,5x+3,x>11x1x<1

"""
example02 - 分段函数求值
       3x - 5 , x > 1
f(x)   5x + 3 ,-1 <= x <= 1
       x + 2  ,x < -1

分支结构可以嵌套,但要注意嵌套的深度,嵌套太深会影响代码可读性
代码块:保持相同缩进属于同一个代码块

Author: Asus
Date: 2021/7/21
"""

x = float(input('x = '))
if x > 1:
    y = 3 * x - 5
elif x < -1:
    y = x + 2
else:
    y = 5 * x + 3
print(f'f(x) = {y}')

说明:在Python之禅中有这么一句话:“Flat is better than nested”:提倡代码“扁平化”,因为嵌套结构的嵌套层次如果很多,会严重的影响代码的可读性,所以能使用扁平化结构时就不要使用嵌套结构。

Python的循环结构

循环结构就是程序中控制某条或某些指令重复执行的结构。在Python中构造循环结构有两种做法,一种是for-in循环,一种是while循环。

for-in循环

  • range(m):产生0到m-1范围的整数。
  • range(m,n):产生m到n-1范围的整数。注:n>m
  • range(m,n,r):产生m到n-1范围的整数,步长是r。注:n>m,r>0
  • range(m,n,-r):产生n+1到m的整数,步长是r。注:n<m,-r<0
"""
example03 - 循环结构 ---->for - in循环

Author: Asus
Date: 2021/7/21
"""

for i in range(1, 101, 3):
    print(i, 'hello, world')
    print(i, 'goodbye, world')
print('goodbye, world')

for i in range(51, 11):
    print(i, 'hello, world')
print('hello, world')

for i in range(51, 11, -4):
    print(i, 'hello, world')

for-in循环的例子

"""
learning02 - 1到100求和

Author: Asus
Date: 2021/7/21
"""
sum = 0
total = 0
sum1 = 0
for x in range(1, 101):
    sum += x
    print(sum)# 每一个结果都输出

# 1到100的偶数求和
for i in range(2, 101, 2):
    total += i
print(total)# 只输出最后一个结果

# 1到100的奇数求和
for m in range(1, 101, 2):
    sum1 += m
print(sum1)

while循环

while循环是通过判断产生的bool值来控制循环,True为继续循环,False则结束循环。

"""
example04 - while循环 --->不知道循环的次数

Author: Asus
Date: 2021/7/21
"""

# 输入两个正整数,找出他们的最大公约数
x = int(input('x = '))
y = int(input('y = '))

while y % x != 0:
    x, y = y % x, x
print(x)

break和continue

break:表示结束它所在的全部循环。

continue:表示只结束本次循环。

"""
learning05 - 输入两个正整数,找出他们的最大公约数

Author: Asus
Date: 2021/7/21
"""
m = int(input('输入正整数m:'))
n = int(input('输入正整数n:'))

if m > n:
    for x in range(n, 1, -1):
        if m % x == 0 and n % x == 0:
            print('最大公约数:', x)
            break
else:
    for x in range(m, 1, -1):
        if m % x == 0 and n % x == 0:
            print('最大公约数:', x)
            break

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值