【计算和控制流】30、上机练习:创建并调用函数

一、水仙花数判定

①创建一个函数,接受一个参数n(n>=100),判断这个数是否为水仙花数
水仙花数:满足如果这个数为m位数,则每个位上的数字的m次幂之和等于它本身

例如:1^3+5^3+3^3=153,1^4+6^4+3^4+4^4=1634
结果返回True或者False

def shui(a):
  a = input("请输入一个大于或等于100的数:")
  y = int(a)
  b = len(a)
  print("位数:%d" %b)
  x = 0
  for i in a:
    q = int(i)
    x += q ** b
  if x == y:
    return True
  else:
    return False
print(shui(120))

②创建一个函数,接受一个参数max(max>=1000),调用上题编写的判断函数,求100到max之间的水仙花数

def shui(a):
    y = int(a)
    l = str(a)
    b = len(l)
    x = 0
    for i in l:
        i = int(i)
        x += i ** b
    if x == y:
        return True
    else:
        return False

def shui2(ma):
    ma = int(ma)
    n = 100
    x = 0
    for i in range(n, ma+1):
        if shui(i) == True:
            print(i)
            x += 1

u = input("请输入一个大于1000的数:")
print(shui2(u))

结果:

请输入一个大于1000的数:1200
153
370
371
407
None
二、求字符集合的并集

创建一个函数,接受两个字符串作为参数,返回两个字符串字符集合的并集
例如:接受的两个字符串为“abc"和“bcd",返回set([‘a’,‘b’,‘c’,‘d’])

def fun1(a, b):
    aset = set(a)
    bset = set(b)
    x = aset | bset
    print(x)

u = input('第一个字符串:')
v = input('第二个字符串:')
fun1(u, v)

结果:

第一个字符串:abc
第二个字符串:bcd
{'a', 'b', 'd', 'c'}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值