学习python第二天-水仙花数和回文数
本帖最后由 cqu20104225 于 2022-10-20 15:23 编辑学习完循环,练习水仙花数和回文数
# 求解100~99中的水仙花数,并打印出来
# 水仙花数:一个三位数等于其各位数字的立方的和,如153=1^3+5^3+3^3
# 思路:利用for循环range,利用//获取每一位的数字
for i in range(100, 1000):
sum = 0
x = i // 100 # 百位数
a = i - x * 100
y = a // 10
z = a - y * 10
sum = x ** 3 + y ** 3 + z ** 3
if sum == i:
print(i) # 输入一个数字,判断是否为回文数
# 回文数:12321-是,12345-不是,0-是,从左往右、从右往左读结果均一样的数字
# 思路:利用 num % 10 可求得最后一位数,利用 num // 10 可去除最后一位数,然后倒序组成新的字符串,与原字符串比较
while True: # 可以多次验证,直到主动结束
sum = input("请输入一个正整数【输入 - 结束】:")
if sum == "-":
break
i = int(sum)
n = len(sum)
string = ''
while n:
n -= 1
string += str(i % 10)
i //= 10
if string == sum:
print(sum + "是一个回文数")
else:
print(sum + "不是一个回文数") 棒棒哒
你确定你是零基础吗,我怎么都看不懂
页:
[1]