6-1 sdut-使用函数求a+aa+aaa++⋯+aa.....aaa(n个a)之和。
给定两个均不超过9的正整数a和n,要求:编写函数fn(a,n), 求a+aa+aaa++⋯+aa⋯aa(n个a)之和,fn须返回的是数列之和。
def fn(a,n):
s=0
m=0
for i in range(n):
m=m*10+a
s+=m
return s
6-2 兔子繁殖
兔子繁殖问题。假设有一对新生的兔子,从第三个月开始他们每个月月初都生一对兔子,新生的兔子从第三个月月初开始又每个月又生一对兔子。按此规律,并假定兔子没有死亡,n(n<=20)个月月末共有多少对兔子?
def rabit(n):
if n==1 or n==2:
return 1
else:
return rabit(n-1)+rabit(n-2)
7-1 判断用户输入的是否是小写字母和数字
编写一个函数,用于判断用户输入的字符串是否由小写字母和数字构成。
def panduan(x):
if ('a'<=x<='z' or '0'<=x<='9'):
b=0
else:
b=1
return b
a=input()
c=0
for i in a:
c+=panduan(i)
if c==0:
print("全是数字和小写字母")
else:
print("不全是数字和小写字母")
7-2 求最小公倍数
从键盘输入两个整数a、b,编写函数lcm(a,b),求a和b的最小公倍数,并调用函数,输出最小公倍数。
def lcm(a,b):
m,n=max(a,b),min(a,b)
q=1
while 1:
if q*n%m==0:
print("%d和%d的最小公倍数为%d"%(a,b,q*n))
break
q+=1
a=int(input())
b=int(input())
lcm(a,b)