【计算和控制流】30、上机练习:创建并调用函数【计算和控制流】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'}
赞赏微信赞赏支付宝赞赏