Python程序语言设计(四)

1.(将摄氏温度转化为华氏温度)编写一个从控制台读取摄氏温度并将他们转变为华氏温度并予以显示的程序。转化公式如下所示:
fahrenheit = (9 / 5)* celsius + 32

celsius = eval(input("Enter degree in Celsius: "))
fahrenheit = (9 / 5) * celsius + 32
print(celsius ,' Celsius is ',fahrenheit,'Fahrenheit' )

2.(计算圆柱体面积)编写一个读取圆柱体的半径和高并利用下面的公式计算圆柱体底面积和体积的程序:
area = radius * radius * π
volume = area * length

[radius,length] = eval(input("Enter the radius and length of a cylinder: "))
PI = 3.141591658
area = radius * radius * PI
volume = area * length
print("The area is ",area)
print("The volume is ",volume)

3.(将英尺数转换为米数)编写一个程序,它读取英尺数然后将它转换成米数并显示结果。一英尺等于0.305米。

feet = eval(input("Enter a value for feet: "))
meters = feet * 0.305
print(feet ,"is" ,meters ,"meters")

4.(将磅转换为千克)编写一个将磅转换为千克的程序。这个程序提示用户输入磅数,转换为千克数并显示结果。一磅等于0.454千克。

pounds = eval(input("Enter a value in pounds: "))
kilograms = pounds * 0.454
print(pounds ,"pounds is ",kilograms,"kilograms")

5.(财务应用程序:计算小费)编写一个读取小计和酬金率然后计算小费以及合计金额的程序。例如:如果用户键入的是10,酬金率是15%,程序就会显示小费是1.5,合计金额是11.5。

[subtotal,gratuity_rate] = eval(input("Enter the subtotal and a gratuity rate: "))
gratuity = subtotal * gratuity_rate
total = subtotal * (1 + gratuity_rate/100)
print("The gratuity is ",gratuity ,"and the total is ",total)

6.(对一个整数中的个位数字求和)编写一个程序,读取一个0到1000之间的整数并计算它个位数字之和。例如:如果一个整数是932,那么它个位数字之和就是14。(提示:使用%来提取数字,使用//运算符来除掉被提取的数字。例如:932%10=2而932//10=93。)这里是一个示例运行。

number = eval(input("Enter a number beween 0 and 1000: "))
number = str(number)
sum = 0
for digits in number:
    sum += int(digits)
print("The sum of the digits is ",sum)

7.(计算年数和天数)编写一个程序,提示用户输入分钟数(例如:1 000 000),然后将分钟转换为年数和天数并显示的程序。为了简单起见,假定一年有365天。

minute = eval(input("Enter the number of minutes: "))
hours = minute // 60
days = hours // 24
years = days // 365
approximate_days = days % 365
print(minute ,"minutes is approximately",years ,"years and",approximate_days,"days")

8.(科学:计算能量)编写一个程序,计算将水从初始温度加热到最终温度所需的能量。你的程序应该提示用户输入以千克计算的水量以及水的初始温度和最终温度。计算能量的公式是
Q = M * (fianlTemperature - initialTemperature)* 4184
这里的M是按千克计的水量,温度为摄氏温度,热量Q以焦耳计。

M = eval(input("Enter the amount of water in kilograms:"))
Inital_Temp = eval(input("Enter the initial tempuerature:"))
Final_Temp = eval(input("Enter the final temperature:"))
Q = M * (Final_Temp - Inital_Temp) * 4184
print("The energy needed is ",Q )

9.(科学:风寒温度)室外有多冷?只有温度值是不足以提供答案的。其他因素,例如:风速、相对湿度和光照都对室外寒冷程度有很大影响。在2001年,国家气象局(NMS)实行以新的利用湿度和风速来衡量风寒湿度。这个公式如下所示。


image.png

这里的ta是华氏温度表示的室外温度,而v是以里/每小时计算的 风速。t(wc)是风寒温度。该公式不适用于风速在每小时2里一下或温度在-58华氏度到41华氏度之间的温度和大于等于每小时2里的风速,然后显示风寒温度。

t_a = eval(input("Enter the temperature in Fahrenheit between -58 and 41: "))
if t_a < -58 and t_a > 41:
    print("Error:Your enter error! Please return!")
    exit()
v = eval(input("Enter the wind speed in miles per hour: "))
if v < 2:
    print("Error:Your enter error! Please return!")
    exit()
t_wc = 35.74 + 0.6215 * t_a - 35.75 * (v ** 0.16) + 0.4275 * t_a * (v ** 0.16)
print("The wind chill index is ",t_wc)

10.(物理方面:计算跑道长度)假定给出飞机的加速度a和起飞速度v,可以根据以下公式计算出飞机起飞所需要的最短跑道长度。
length=(v×v)/2a
编写一个程序,提示用户输入以米/秒(m/s)为单位的v和以米/秒的平方(m/s²)为单位的a,然后显示最短的跑道长度。

[v,a] = eval(input("Enter speed and acceleration: "))
length = (v ** 2) / (2 * a)
print("The minimum runway length for this airplane is ",length,"meters")

11.(金融应用程序:投资额)加入你想将一笔钱以固定年利率存入账户。如果你希望三年之后账户中有5000美元,你现在需要存多少钱?使用下面的公式可以算出初始存款。
最初存款额=(最终金额值)/(1+月利率)^(月数)
编写一个程序,提示用户输入最终金额值、百分比表示的年利率以及年数,然后显示最初存款额。

Final_money = eval(input("Enter final account value: "))
Years_rate = eval(input("Enter annual interest rate in percent: "))
Years = eval(input("Enter number of years: "))

Months_rate = (Years_rate / 12) / 100
Months = Years * 12

Last_money = Final_money / ((1 + Months_rate ) ** Months )

print("Initial deposit value is ",Last_money)

12.(打印表格)编写一个显示下面表格的程序。
a b a ** b
1 2 1
2 3 8
… … …
5 6 15625

print("{:<6}".format("a"), "{:<6}".format("b"), "{:<6}".format("a ** b"))
print("{:<6}".format(1), "{:<6}".format("2"), "{:<6}".format("1"))
print("{:<6}".format(2), "{:<6}".format("3"), "{:<6}".format("8"))
print("{:<6}".format(3), "{:<6}".format("4"), "{:<6}".format("81"))
print("{:<6}".format(4), "{:<6}".format("5"), "{:<6}".format("1024"))
print("{:<6}".format(5), "{:<6}".format("6"), "{:<6}".format("15625"))

13.(分割数字)编写一个程序,提示用户输入四位整数并以反向顺序显示。

x = eval(input("Enter an integer:"))
y = str(x)                         
print(y[::-1])

14.(几何方面:三角形的面积)编写一个程序,提示用户输入三角形的三个顶点(x1,y1)、(x2,y2)和(x3,y3)然后显示它的面积。计算三角形面积的公式如下所示。
s = (side1 + side2 + side3)/ 2
area = (s(s-side)(s-side2)(s-side3))^(-1)
[https://zh.numberempire.com/arbitrary_triangle_calculator.php]

x1,y1 = eval(input("Enter fist point for a triangle: "))
x2,y2 = eval(input("Enter second point for a triangle: "))
x3,y3 = eval(input("Enter third point for a triangle: "))

side1 = ((x1 - x2) ** 2 + (y1 - y2) ** 2) ** 0.5
side2 = ((x3 - x2) ** 2 + (y3 - y2) ** 2) ** 0.5
side3 = ((x1 - x3) ** 2 + (y1 - y3) ** 2) ** 0.5

s = (side1 + side2 + side3) / 2
area = (s * (s - side1) * (s - side2) * (s - side3)) ** 0.5

print("The area of the triangle is ",area)

15.(几何方面:正六边形的面积)编写一个程序,提示用户输入正六边形的边长并显示它的面积。计算正六边形面积的公式是((3(3^-1)/2)s·s),其中s是边长。

s = eval(input("Enter the side: "))
area = (s**2) * 3 * (3**0.5) / 2
print("The area of the hexagon is ",area)

16.(物理方面:加速度)平均加速度的定义是速度变化量除以变化所占用的时间,公式如下: a=(v1 - v0) / t
编写一个程序,提示用户输入以米每秒为单位的初始速度v0和末速度v1,以秒为单位速度变化所占用的时间t,然后显示平均加速度。

v0, v1, t = eval(input("Enter v0,v1 and t :"))
a = (v1 - v0) / t
print("The average acceleration is: {:2f}".format(a))

17.(健康应用程序:计算BMI)身体质量指数(BMI)是以体重衡量健康程度的一种指数。以千克为单位的体重除以以米为单位的身高的平方就可以计算它的值。编写一个程序,提示用户输入以磅为单位的体重和以英尺为单位的身高,然后显示BMI的值。注意:1磅等于0.453 592 37千克而1英尺等于0.0254米。

weight = eval(input("Enter weight in poounds: "))
height = eval(input("Enter height in inches: "))
kilogram = weight * 0.45359237
meter = height * 0.0254
BMI = kilogram / (meter ** 2)
print("BMI is:{:2f} ".format(BMI) )

18.(金融应用程序:计算未来投资额)使用下面的公式编写一个读取投资额、年利率和年数然后显示未来投资额的程序:
未来投资额 = 投资额 × (1 + 月投资率)^(月数)
例如,如果你输入金额1000,而年利率为4.25%,年数为1,那么未来投资总额就是1043.33。

amount = eval(input("Enter investment amount:"))
rate = eval(input("Enter annual interest rate:"))
years = eval(input("Enter number of years:"))
accumulateAmount = amount * (1 + rate / 100 / 12)**(years * 12)
print("Accumulated value is {:.2f}".format(accumulateAmount))

20.(金融应用程序:计算利息)如果你知道差额和百分比的年利率,你可以使用线面的公式计算下个月月供利息。
利息 = 差额 × (年利率 / 1200)
编写一个读取差额和年利率,然后显示下个月要付利息的程序。

balance, rate_interest = eval(input("Enter balance and interest rate(e.g.,3 for 3%):"))
interest = balance * (rate_interest / 1200)
print("The interest is {:.5f} ".format(interest))

21.(金融应用程序:复利值)假设你每月存100美元到一个年利率为5%的储蓄账户。因此,月利率是0.05/12=0.00417。第一个月后,账户里的数目变为:
100 * (1 + 0.00417 ) = 100.417
第二个月后,账户里的数目变为:
(100 + 100.417 )* (1 + 0.00417 ) = 201.252
第三个月后,账户里的数目变为:
(100 + 201.252)* (1 + 0.00417)= 302.507
以此类推。
编写一个程序,提示用户键入每月存款数然后显示六个月后的账户总额。

onthly_saving_amount = eval(input("Enter the monthly saving amount: "))
i = 6
rate_mounth = 1 + 0.00417
sum = 0
for x in range(i):
    sum = (monthly_saving_amount + sum ) * rate_mounth
print("After the sixth mounth , the account value is {:f}".format(sum))

23.绘制四个圆,提示用户输入半径并在屏幕中央画四个圆。

import turtle
radius = eval(input("请输入圆的半径:"))

turtle.pensize(2)  
turtle.circle(radius)
turtle.penup()              
turtle.goto(radius * (-2), 0)
turtle.pendown()
turtle.circle(radius)

turtle.penup()
turtle.goto(radius * (-2), radius * (-2))
turtle.pendown()
turtle.circle(radius)

turtle.penup()
turtle.goto(0, radius * (-2))
turtle.pendown()
turtle.circle(radius)

turtle.penup()
turtle.goto(radius, 0)
turtle.pendown()
turtle.hideturtle()

turtle.write("半径 = {:.0f} ".format(radius), font=("Arial", 16, "normal"))

turtle.done()
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,165评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,720评论 1 298
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,849评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,245评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,596评论 3 288
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,747评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,977评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,708评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,448评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,657评论 2 249
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,141评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,493评论 3 258
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,153评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,108评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,890评论 0 198
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,799评论 2 277
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,685评论 2 272

推荐阅读更多精彩内容