Python基础:while循环 以及 练习题 :三位数的水仙花数 GDP 计算π 判断一个数是否是素数

本文介绍了Python中的while循环基础知识,并提供了四个练习题的详细解答,包括找到所有三位数的水仙花数、计算GDP增长年份、近似计算π以及判断一个数是否为素数。通过实例解析,帮助读者深入理解while循环的运用。
部署运行你感兴趣的模型镜像

有对循环结构有疑问的请移步
大家好我是墨码,欢迎观看,有什么意见请评论!

while循环

用官方的话说就是:

Python 编程中 while 语句用于循环执行程序,
即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。
while循环常用于处理一些单循环。

while 循环的语法

while 判断条件:
	执行语句

注意:如果循环的条件成立,运行“循环内容”如果不成立,跳过循环,同时请务必不要写死循环,请遵循循环结构的规则
下面是练习题。

练习题

1.找出三位数所有水仙花数:

思路:

# 找出三位数的所有水仙花数

# 首先要限定范围

# 分别拿出个位十位百位 然后 相加

#符合条件后进行判断

# 下次进入循环需要增长或减少的值

2.求GDP:

题目:z国2009年GDP 为49089.82 亿元 增长率为 8%,m国同年GDP 为142562.75亿元 增长率为 2%。问:增长率不变,哪一年z国能超过m国?

思路:

# 设置变量 输入两国 现在 GDP

# 设置当前年份

# 循环 

# 输出结果

3.计算π:

可能不咋精确!
这道题上代码吧 - - 自己解释太费劲了!

#定义分子默认值
fz = 1 # 最开始是1 每次+2
#定义和
sum = 0 #初始为0   #分子的和
#定义符号
sign = 1 #设置1为正数
#定义每个分数
#分子除以分母,每次符号会改变,根据π = (4/1)-(4/3)+(4/5)变成
                          # π = +(+4/1)+(-4/3)+(+4/5)方便写代码
fs = sign * 1 / fz  #改变符号
# 开始循环
# 确定循环范围
 # 这里写绝对值,因为让其一直为正数
 #(10的-8次方,电脑慢写-6,也可以写科学技术发 10e-6)
while abs(fs) > 10**-8: 
    sum += fs #计算好的分数
    sign *= -1 #符号每次改变
    fz += 2 #分子每次+2
    fs = sign *1 / fz
# 乘上分母
pi = sum * 4 
print(pi)

4.判断是否为素数:

题目:#输入一个数判断是否素数。 素数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。

思路:

#输入一个数

#初始值

#循环 结束条件:
#	循环体

#跳出循环

#判断是否是素数

1丶2丶4 的解法:

1.

# 找出三位数的所有水仙花数

# 首先要限定范围
n = 100
while (n<=999):
    # 拿出个位十位百位相加
    sxh_str = str(n)
    a = int (sxh_str[0])
    b = int (sxh_str[1])
    c = int (sxh_str[2])
    sum = a**3 + b**3 + c**3
    #符合条件干什么
    if sum == n :
      print('%d是水仙花数' %n)
# 下次进入循环n的值
    n += 1

2.

#中国2009年GDP 为49089.82 亿美元 增长率为 8%
#美国同年GDP 为142562.75亿美元 增长率为 2%
#问:增长率不变,哪一年中国能超过美国?

#中国GDP
china = 49089.82
#美国GDP
am = 142562.75
#年份
year = 2009
#结束条件 china > am
while china < am: #这里的意思是运行的条件,所以是小于号,一旦大于就不运行了,只有小于美国的时候才会运行。
    china = china + (china * 0.08) #每年增长 百分之8
    am = am + (am * 0.02) #每年增长 百分之2
    year += 1

print('%d年 中国超过美国' %year)

4.

# 输入一个数
a = int(input("输入一个数:"))
i = 1  # 需要整从1 开始
su = 0  # 被整除的次数 如果等于二就是素数
while i <= a:  # 完成从 a/1 到 a/a 后 结束
    c = a % i  # c为余数
    if c == 0:  # 判断余数是否是0
        su += 1  # 是的话记一个数
    i += 1  # 开始 a/2
# 如果跳出循环 判断被整除的次数是否等于2,也就是是否为素数(两次:被1 和 本身 整除)。
if su == 2:
    print("%d是素数" % a)
else:
    print("%d不是素数" % a)

没啦! 感谢观看,欢迎评论,Thanks♪(・ω・)ノ

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值