一些写过的python题

python题目及相关代码

1.质量单位转换

已知: 1磅(lb)=0.4535924千克(kg)
输入带有单位的质量,输出 镑 与 千克
之间的转换
样例一输入:100kg 输出:转换后的质量是 220.46 lb 样例二输入:100lb 输出:转换后的质量是 45.36 kg

def main():str_in = input("请输入带单位的质量:")k = 0.4535924if str_in[-2:] == 'kg':result = int(str_in[:-2]) / kprint('转换后的质量是' + str(result) + 'lb')elif str_in[-2:] == 'lb':result = int(str_in[:-2]) * kprint('转换后的质量是' + str(result) + 'kg')else:print("输入有误!")if __name__ == '__main__':main()
2.集合操作练习
A = {"p", "y", 123}
B = set("pypy123")
print(A-B)
print(B-A)
print(A&B)
print(A|B)
print(A^B)
结果:
{123}
{'3', '2', '1'}
{'p', 'y'}
{'3', 'p', '2', '1', 123, 'y'}
{'3', 123, '2', '1'}
3.计算BMI

输入:给定体重和身高值
输出: BMI指标分类信息(国际和国内)

height=eval(input('请输入身高(m):'))
weight=eval(input('请输入体重(kg):'))
BMI=float(float(weight)/(float(height)**2))
if BMI<=18.5:print('身体状态:偏瘦')
elif 18.5<BMI<=24:print('身体状态:正常')
elif 24<BMI<=28:print('身体状态:超重')
elif BMI>=28:print('身体状态:肥胖')
4.公式计算圆周率
pi=0
N=100
for i in range(N):pi+=1/pow(16,i)*(4/(8*i+1)-\2/(8*i+4)-1/(8*i+5)-1/(8*i+6))
print(pi)
5.蒙特卡罗法求解圆周率
#蒙特卡罗法求解圆周率
from random import random
n = 1000*1000
hits = 0
for i in range(1, n+1):x, y = random(), random()dist = pow(x**2 + y**2, 0.5)if dist <= 1.0:hits += 1
pai = 4*(hits/n)
print(pai)
6.打印进度条
#打印进度条
import time
scale = 10
for i in range(scale+1):a = '*'*ib = '->'+'.'*(scale-i)c = i/scale*100print("{:3.0f}% [{}{}]".format(c, a, b))time.sleep(0.1)
7.输出2010年、2018年三个城市人口总和;
cities={"重庆市":{"2010人口":3017.42,"2018人口":3101.79},"上海市":{"2010人口":2301.91,"2018人口":2423.78},"北京市":{"2010人口":2300.24,"2018人口":2154.2}}
sum10=0
sum18=0
for i in cities.values():sum10+=i.get("2010人口",0)sum18+=i.get("2018人口", 0)
print("2010人口总和{:.2f}万人,2018人口总和{:.2f}万人".format(sum10,sum18))
lst=list(cities.values())
str = ''
for i in lst:if i.get('2018年人口', 0) > i.get('2010年人口', 0):str = 'up'elif i.get('2018年人口', 0) < i.get('2010年人口', 0):str = 'down'else:str = '-'i['tend'] = str
for i in cities.items():print(i)
8.将字符串反转后输出
#将字符串s反转后输出
def rvs(s):if s=="":return selse:return rvs(s[1:])+s[0]
9.科赫曲线绘制雪花
import turtle as t
def koch(size,n):#size表示绘制科赫曲线的每一个直线的长度,n表示绘制的阶数if n==0:t.fd(size)#绘制一条直线,也就是基例else :for angle in [0,60,-120,60]:t.left(angle)koch(size/3,n-1)#利用递归方式绘制
def myDraw():#定义控制过程t.setup(1000,600)#定义turtle窗体大小t.pu()#抬起画笔,海龟在飞行t.goto(-200,100)t.pd()#落下画笔,海龟在爬行t.speed(10)t.pensize(2)#画笔大小t.pencolor("blue")#画笔颜色level=5length=500for i in range(level):koch(length,level)#调用函数绘制长度为500像素,阶数为5的科赫曲线t.right(120)#基本框架t.done()#让运行结果停留,手动关闭
myDraw()


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部