使用python计算任意两个数字之间有多少水仙花数

本文展示了作者用Python编写的查找水仙花数的代码片段,欢迎指出错误,旨在纪念第一个自编程序。代码实现了对n和m范围内的水仙花数计数。

练习的作品,纪念第一个自己写的程序,有bug欢迎大家直接指出,up会改的~

n = eval(input ('请输入整数n:'))

m = eval(input('请输入整数m:'))

#以下内容为使n和m符合规定

if n >= m:

  n,m = m,n  #调整m和n的顺序

n1,m1=n,m  #备份m,n的数值

if n<100:

  n=100   #使n符合水仙花数的要求

if m < 100:

  print ('水仙花数最小为100')    #保证m符合水仙花数要求

else :

  t=0 #进行数量计数

  int_n=int(n)

  m=int(m)  #改变m和n的类型为整数

  if int_n<n:

    int_n=int_n+1  #解决n有小数点的问题

  for x in range(int_n,m+1): #前闭后开

    sum=0

    str_x = str(x)

    for i in str_x:

      int_i=int(i)

      sum = int_i**len(str_x) + sum #len()可以计算字符串中有几个字符

    if sum == x:

      print (sum)

      t=t+1 #水仙花数+1

  print(n1,'到',m1,'之间共有',t,'个水仙花数')

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值