欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

一些写过的python题

程序员文章站 2022-07-15 08:10:54
...

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()
相关标签: python