【Python】分支结构与循环结构

举报
AXYZdong 发表于 2021/12/22 10:12:09 2021/12/22
【摘要】 Python分支结构与循环结构,在循环结构中主要是for-in 和 while 循环。

分支结构

一条语句一条语句顺序执行:顺序结构

分支结构 (选择结构)

python中构造分支结构的关键字:ifelseelif

'''
判断输入的边长能否构成三角形,如果能则计算三角形的周长和面积
Author:AXYZdong 
'''
a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
if a+b > c and a +c > b and b+c >a :
    print('周长 = %f' % (a+b+c))
    p = (a+b+c)/2
    area = (p*(p-a)*(p-b)*(p-c))**0.5
    print('面积 = %f' % (area))
else:
    print('不能构成三角形')

循环结构

for-in 循环

明确知道 循环执行的次数 或者 要对一个容器进行迭代,推荐使用 for-in 循环。

例:计算1~100求和的结果

n = 1 100 n \sum \limits_{n=1}^{100}n

'''
1~100求和
Author:AXYZdong 
'''
sum = 0
for x in range(101):  # for x in range(1,101):
    sum = sum + x
print(sum)

  • range(101):产生0~100范围内的整数,取不到101。
  • range(1,101):产生1~100范围内的整数,相当于 [1,101)
  • range(1,101,2):产生1~100范围内的奇数,其中2是步长,每次递增
  • range(100,0,-2):产生100~1范围内的偶数,其中-2是步长,每次递减

1~100范围内偶数求和?

'''
用for循环实现1~100范围内偶数求和
Author:AXYZdong 
'''
sum = 0
for x in range(2,101,2):  # for x in range(100,0,-2):
    sum = sum + x
print(sum)

range(2,101,2):从2开始以每次2的步长递增,产生2~100的范围(均为偶数)

while 循环

不知道具体循环次数的循环结构,推荐使用 while 循环。while 循环通过一个能够产生或转换出 bool 值的表达式来控制循环,表达式的值为 True 则继续循环;表达式为 False 则结束循环。

'''
猜数字游戏
Author:AXYZdong 
'''
import random

ans = random.randint (1,10)
counter = 0
while True:
    counter += 1
    num = int(input('请输入:'))
    if num > ans:
        print('大一点')
    elif num < ans:
        print('小一点')
    else:
        print('恭喜你猜对了')
        break
print('你一共猜了%d次'% (counter))
if counter > 5:
    print('你运气太差了')

random.randint(参数1,参数2)

  • 参数1、参数2必须是整数
  • 函数返回值为参数1和参数2之间的任意数,闭区间 [参数1,参数2](python 3环境中已验证)

例:输入两个正整数,计算它们的最大公约数和最小公倍数

最大公因数:两个数公共因子中最大的那个数

最小公倍数:两个自然数的积除以它们的最大公因数

'''
输入两个正整数,求它们的最大公约数和最小公倍数
Author:AXYZdong
'''
x = int(input('x = '))
y = int(input('y = '))
if x > y:
    x,y = y,x
for common in range(x,0,-1):
    if x%common == 0 and y%common == 0:
        print('%d和%d最大公约数是%d' % (x,y,common))
        print('%d和%d最小公倍数是%d' % (x,y,(x*y//common)) ) #两个自然数的积等于这两个数最大公因数乘以它们的最小公倍数
        break

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “收藏” “关注” 一键三连哦!


如果以上内容有任何错误或者不准确的地方,欢迎在下面 👇 留个言。或者你有更好的想法,欢迎一起交流学习~~~

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。