一些写过的python题

    科技2026-03-05  6

    python题目及相关代码

    1.质量单位转换

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

    def main(): str_in = input("请输入带单位的质量:") k = 0.4535924 if str_in[-2:] == 'kg': result = int(str_in[:-2]) / k print('转换后的质量是' + str(result) + 'lb') elif str_in[-2:] == 'lb': result = int(str_in[:-2]) * k print('转换后的质量是' + 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 = '*'*i b = '->'+'.'*(scale-i) c = i/scale*100 print("{: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 s else: 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=5 length=500 for i in range(level): koch(length,level)#调用函数绘制长度为500像素,阶数为5的科赫曲线 t.right(120)#基本框架 t.done()#让运行结果停留,手动关闭 myDraw()
    Processed: 0.020, SQL: 9