python的三大流程控制

三大控制流程:

1、顺序流程
2、分支流程
3、循环流程

顺序流程控制

按照顺序执行命令
输入半径,输出圆的周长与面积
代码:

import math
r = float(input("请输入半径:"))
C = 2*r*math.pi
S = math.pi*(r**2)
print("圆的周长为%.1f" %(C))
print("圆的面积为%.1f" %(S))

输出结果:
在这里插入图片描述

分支流程控制

根据判断结果选择执行命令

r = int(input("请输入成绩:"))
if r > 60:
    print("及格")
else:
    print("不及格")

运行结果
在这里插入图片描述

循环流程控制

循环语句类型:
1.while循环语句:while循环语句的命令会一直执行,直到while后条件的布尔值为假
2.for循环语句(for item in num:)

  • for:关键字
  • item:元素
  • in:关键字
  • num:集合

break:终止循环语句,无论循环条件是否为false或循环是否运行完毕都会终止该循环语句
continue:跳过本次循环剩下的语句,进入下一轮循环

range语法

range(start, end, step =1)返回一个包含所有 k 的列表, start <= k < end , k每次递增 step

实例:

需求1: 求1~100之间所有偶数的和;
需求2: 求1~100之间所有奇数的和;
需求3: 用户输入一个整形数, 求该数的阶乘; 3!=3*2*1=6

1.
add = 0
for item in range(0,101,2):
    add+=item
print(add)
2.
add = 0
for item in range(1,100,2):
    add+=item
print(add)
3.
num = int(input("请输入整形数:"))
add = 1
for item in range(1,num+1):
    add*=item
print(add)

random模块

函数函数功能
random.random()生成一个0到1的随机浮点数,0<=n<1.0
random.uniform(a,b)生成一个指定范围内的随机浮点数,a<=n<=b
random.randint(a,b)生成一个指定范围的整数,a<=n<=b
random.choice(abcdef)从序列中获取一个随机元素
random.shuffle(1,2,3,4,5,6)将元素打乱顺序

随机生成一个年份,年份的范围在2000-2200年之间

import random1
print(random.randint(2000,2200))

运行结果
在这里插入图片描述

案例

1、闰年检测计算器

  • 要求:随机生成一个1900~2000之间的年份, 判断给定年份是否是闰年?
  • 规则: 一个闰年就是能被4整除但是不能被100整除 或者 year能被400整除.
  • 输出:年份2000年是闰年。/ 年份1983年不是闰年
  • 代码:
import random
year = random.randint(1900,2000)
if (year%4==0 and year%100!=0) or year%400==0:
    print("年份%d是闰年"%(year))
else:
    print("年份%d不是闰年"%(year))

运行结果
在这里插入图片描述
在这里插入图片描述
2、偶数判断器:

  • 需求:随机生成一个0~100之间的整数, 判断该数是否为偶数?
  • 规则:偶数是能够被2所整除的整数。0是一个特殊的偶数。
  • 输出:数值10是偶数。 / 数值11不是偶数。
  • 代码:
import random
num = random.randint(0,100)
if num%2==0:
    print("数值%d是偶数"%(num))
else:
    print("数值%d不是偶数"%(num))

运行结果:
在这里插入图片描述
在这里插入图片描述
3、解一元二次方程:

  • 需求:求解一元二次方程。用户依次输入a、b、c对应的值。
  • 输出:方程的解为1和2。 / 方程无解。 / 方程的解只有一个,值为2。
  • 代码:
import math
a = float(input('请输入a的数值:'))
b = float(input('请输入b的数值:'))
c = float(input('请输入c的数值:'))
num = b*b-4*a*c
if num<0:
    print("方程无解")
elif num==0:
    print("方程的解只有一个,值为%.1f"%(-b/(2*a)))
else:
    print("方程的解为%.1f和%.1f"%(((-b + math.sqrt(num))/2/a), ((-b - math.sqrt(num))/2/a)))

运行结果:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值