Files
2025PY/day11/03-循环的案例.py
2025-05-22 16:50:44 +08:00

81 lines
3.1 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 一.求100-999之间的水仙花数
# 水仙花数:
# 是指一个n位数n≥3其每个位上的数字的n次幂之和等于它本身。
# 例如三位数153就是一个水仙花数因为1^3 + 5^3 + 3^3 = 153。
# 思路:
# 1.如何获取一个三位数的个位,十位,百位
# 2.如何设定条件:个位*个位*个位 + 十位*十位*十位 + 百位*百位*百位 = 百十个
# 代码
"""
i = 100
while i <= 999:
a = i % 10 # 个位
b = i % 100 // 10 # 十位(//符号获取商的整数部分)
c = i // 100 # 百位
if a*a*a + b*b*b + c*c*c == i: #设定条件
print(i,end=',') # 一行输出,逗号分隔 153,370,371,407
i += 1
"""
"""
for num in range(100,1000): # 循环产生100-999
# 获取一个三位数的个位,十位,百位
a = num % 10 # 个位
b = num % 100 // 10 # 十位(//符号获取商的整数部分)
c = num // 100 # 百位
if a*a*a + b*b*b + c*c*c == num: #设定条件
print(num,end=',') # 一行输出,逗号分隔 153,370,371,407
"""
# 二.打印输出100以内的不带7且不是7的倍数
# 分析:
# 1.循环1-100个数
# 2.不是7的倍数无法和7整除采用取余的方式进行判断
# 3.不带7(个位不能是7十位不能是7)
# for num in range(1,101): # 循环1-100个数
# if (num % 7 != 0) and (num % 10 != 7) and (num // 10 != 7) :
# # 不是7的倍数(num % 7 != 0)
# # 个位不能是7(num % 10 != 7)
# # 十位不能是7(num // 10 != 7)
# print(num,end=',')
num = 1
while num <= 100:
if (num % 7 != 0) and (num % 10 != 7) and (num // 10 != 7) :
# 不是7的倍数(num % 7 != 0)
# 个位不能是7(num % 10 != 7)
# 十位不能是7(num // 10 != 7)
print(num,end=',')
num += 1
# 三.判断输入的数字是否是素数(素数就是能够被1和自身整除的数)
# 分析:
# 如果判断这个数字是否是素数,可以通过取余实现(取余针对整除进行运算)
# 根据概念一个数字除了1和自身其他的数字都不能和它进行整除
# 例如19 除了1和自身都不能和它整除(剩下的2-18都不能整除)
# 例如23 除了1和自身都不能和它整除(剩下的2-22都不能整除)
# 例如29 除了1和自身都不能和它整除(剩下的2-28都不能整除)
# 得到规律想证明一个数字是否是素数和除了1和自身之外的中间数字进行整除
# 代码
# num = int(input('请输入一个数字:')) # 输入的数字
# flag = True # 是否素数的标记(True素数False不是素数)
# if num < 2: # 最小的素数是 2
# flag = False # 不是素数
# else: # 输出的数字肯定>=2
# # 判断是否是素数用输出的数字和和除了1和自身之外的中间数字进行整除
# # 假设输入的是19 和2-18整除
# for i in range(2, num):
# if num % i == 0: # 能整除,不是素数
# flag = False
# break # 结束循环,有一个能整除,就说明不是素数,可以结束循环
# 根据flag进行判断
# if flag:
# print(f'{num}是素数')
# else:
# print(f'{num}不是素数')