第31-第40个python练习

31.计算平均数


defaverage(lst):
returnsum(lst)/len(lst)

lst=[1,2,3,4,5]
print("列表:",lst)
print("平均数为:",average(lst))

32.判断一个数字是否为质数


defis_prime(num):
ifnum<=1:
returnFalseforiinrange(2,int(num/2)+1):
ifnum%i==0:
returnFalsereturnTruenum=int(input("输入一个数字:"))
ifis_prime(num):
print("{0}是质数".format(num))
else:
print("{0}不是质数".format(num))

33.将字符串中的空格替换为下划线


defreplace_space(string):
returnstring.replace("","_")

my_str="HelloWorld"print("原始字符串:",my_str)
print("替换后的字符串:",replace_space(my_str))

34.计算圆的周长和面积


importmathradius=float(input("请输入圆的半径:"))
perimeter=2*math.pi*radius
area=math.pi*radius**2print("圆的周长为:%.2f"%perimeter)
print("圆的面积为:%.2f"%area)

35.统计列表中每个元素出现的次数


defcount_occurrences(lst):
d={}
foriteminlst:
ifitemind:
d[item]+=1else:
d[item]=1returnd

lst=[1,2,3,4,5,4,3,2,1]
print("列表:",lst)
print("元素出现次数:",count_occurrences(lst))

36.判断一个字符串是否为回文字符串(忽略标点符号和空格)

importstringdefis_palindrome(string):
string=string.lower()
forcinstring:
ifcinstring.punctuationorc=="":
string=string.replace(c,"")
returnstring==string[::-1]

my_str="Aman,aplan,acanal,Panama!"ifis_palindrome(my_str):
print("{0}是回文字符串".format(my_str))
else:
print("{0}不是回文字符串".format(my_str))

37.求n的阶乘


deffactorial(n):
ifn==0:
return1else:
returnn*factorial(n-1)

num=int(input("输入一个数字:"))
print("{0}的阶乘为{1}".format(num,factorial(num)))

38.求两个数的最大公约数

defgcd(x,y):
ify==0:
returnx
else:
returngcd(y,x%y)

num1=int(input("输入第一个数字:"))
num2=int(input("输入第二个数字:"))

print("{0}和{1}的最大公约数为{2}".format(num1,num2,gcd(num1,num2)))

39.求斐波那契数列的第n项


deffibonacci(n):
ifn<=0:
return0elifn==1:
return1else:
returnfibonacci(n-1)+fibonacci(n-2)

num=int(input("请输入要计算的斐波那契数列的项数:"))
print("斐波那契数列的第{0}项为:{1}".format(num,fibonacci(num)))

40.判断一个数字


defis_palindrome(num):
returnstr(num)==str[num](::-1)

num=int(input("输入一个数字:"))
ifis_palindrome(num):
print("{0}是回文数".format(num))
else:
print("{0}不是回文数".format(num))

posted on 2023-03-29 07:00  skywide  阅读(2)  评论(0编辑  收藏  举报  来源