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

作者 : 郭然 本文共835个字,预计阅读时间需要3分钟 发布时间: 2021-08-25 共137人阅读

目录
一、水仙花数判定
二、求字符集合的并集

一、水仙花数判定

①创建一个函数,接受一个参数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'}
赞赏

微信赞赏支付宝赞赏

VIP部落提供编程技术、教育培训、优惠购物以及各类软件和网站源码、模板等资源下载。
VIP部落 » 【计算和控制流】30、上机练习:创建并调用函数【计算和控制流】30、上机练习:创建并调用函数

常见问题FAQ

提供最优质的资源集合

立即查看 了解详情