第21-第30个python练习

本文展示了使用Python实现的一些基础算法,包括冒泡排序、求最大公约数和最小公倍数、判断完全数、计算几何图形面积、字符串大小写转换、阿姆斯特朗数检测以及列表元素移动和回文数判断等操作。
摘要由CSDN通过智能技术生成

21.对列表
进行冒泡排序

defbubble_sort(lst):
n=len(lst)
foriinrange(n):
forjinrange(0,n-i-1):
iflst[j]>lst[j+1]:
lst[j],lst[j+1]=lst[j+1],lst[j]

lst=[64,34,25,12,22,11,90]
print("原始列表:",lst)
bubble_sort(lst)
print("排序后的列表:",lst)

22.求最大公约数和最小公倍数

defgcd(x,y):
while(y):
x,y=y,x%y
returnx

deflcm(x,y):
return(x*y)//gcd(x,y)

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

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

23.判断一个数字是否为完全数

defis_perfect_number(num):
sum=0foriinrange(1,num):
ifnum%i==0:
sum+=i
ifsum==num:
returnTrueelse:
returnFalsenum=int(input("输入一个正整数:"))
ifis_perfect_number(num):
print("{0}是完全数".format(num))
else:
print("{0}不是完全数".format(num))

24.计算三角形面积

base=float(input("输入三角形底边长:"))
height=float(input("输入三角形高:"))
area=(base*height)/2print("三角形面积为:%.2f"%area)

25.将字符串中的大写字母转换为小写字母

defto_lower(string):
return"".join([chr(ord(c)+32)if65<=ord(c)<=90elsecforcinstring])

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

26.判断一个数字是否为阿姆斯特朗数

defis_armstrong_number(num):
sum=0n=len(str(num))
foriinstr(num):
sum+=int(i)**n
ifsum==num:
returnTrueelse:
returnFalsenum=int(input("输入一个数字:"))
ifis_armstrong_number(num):
print("{0}是阿姆斯特朗数".format(num))
else:
print("{0}不是阿姆斯特朗数".format(num))

27.计算矩形面积

length=float(input("输入矩形长:"))
width=float(input("输入矩形宽:"))
area=length*widthprint("矩形面积为%.2f"%area)

28.计算圆柱体的体积

importmath
radius=float(input("输入圆柱体底面半径:"))
height=float(input("输入圆柱体高:"))
volume=math.pi*radius**2*heightprint("圆柱体的体积为:%.2f"%volume)

29.将列表中的元素向右移动n位

defright_rotate(lst,n):
returnlst[-n:]+lst[:-n]

lst=[1,2,3,4,5]
n=2print("列表:",lst)
print("向右移动{0}位后的列表:".format(n),right_rotate(lst,n))

30.判断一个字符串是否为回文数

defis_palindrome(string):
string=string.lower()returnstring==string[::-1]
my_str="racecar"
ifis_palindrome(my_str):
print("{0}是回文数".format(my_str))
else:
print("{0}不是回文数".format(my_str))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sky wide

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值