cqu20104225 发表于 2022-10-20 09:44:10

学习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)

cqu20104225 发表于 2022-10-20 13:30:59

# 输入一个数字,判断是否为回文数
# 回文数: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 + "不是一个回文数")

eeffve 发表于 2022-10-20 11:46:41

棒棒哒

HHJJJY 发表于 2022-11-9 21:59:59

你确定你是零基础吗,我怎么都看不懂
页: [1]
查看完整版本: 学习python第二天-水仙花数和回文数