(将摄氏温度转化为华氏温度)编写一个从控制台读取摄氏温度并将它转变为华氏温度并予以显示的程序。转换公式如下所示。
fahrenheit = (9 / 5) * celsius + 32
这里是这个程序的示例运行。
celsius = float(input("Enter a degree in Celsius:"))
fahrenheit = (9/5)*celsius + 32
print("%s Celsius is %s Fahrenheit"%(celsius,fahrenheit))
(计算圆柱体的体积)编写一个读取圆柱的半径和高并利用下面的公式计算圆柱体底面积和体积的程序:
area = radius * radius * 3.14
volume = area * length
这里是示例运行。
r,h = eval(input("Enter the radius and length of a cylinder:"))
area =r * r *3.14
volume = area * h
print("The area is %.4f"%area)
print("The volume is %.f"%volume)
(对一个整数中的各位数字求和)编写一个程序,读取一个0到1000之间的整数并计算它各位数字之和。例如:如果一个整数是932,那么它各位数字之和就是14。(提示:使用%来提取数字,使用//运算符来去除掉被提取的数字。例如:932%10=2而932//10=93。)这里是一个示例运行。
s = int(input("Enter a number between 0 and 1000:"))
a = s//100
b = s//10%10
c = s%10
sum = a+b+c
print("The sum of the digits is",sum)
(计算年数和天数)编写一个程序,提示用户输入分钟数(例如:1 000 000 ),然后将分钟转换为年数和天数并显示的程序。为了简单起见,假定一年有365天。这里是一个示例运行。
a = int(input("Enter the number of minutes:"))
year = int(a/60/24/365)
day = int((a-year*60*24*365)/60/24)
print("%s minutes is approximately %s years and %s days"%(a,year,day))
(科学:计算能量)编写一个程序计算将水从初始温度加热到最终温度所需的能量。你的程序应该提示用户输入以千克计算的水量以及水的初始温度和最终温度。计算能量的公式是
0= M* (fina1Temperature - initia1Temperature) * 4184
这里的M是按千克计的水量,温度为摄氏温度.热量Q以焦耳计。这里是一个示例运行。
M = float(input("Enter the amount of water in kilograms:"))
a = float(input("Enter the initial temperature:"))
b = float(input("Enter the final temperature:"))
Q = M * (b - a) * 4184
print("The energy needed is %s"%Q)
(科学:风寒温度)室外有多冷?只有温度值是不足以提供答案的。其他因素,例如:风速、相对湿度和光照都对室外寒冷程度有很大影响。在.2001年,国家气象局(NWS)实行以新的利用温度和风速来衡量风寒温度。这个公式如下所示。
这里的 ta是华氏温度表示的室外温度,而v是以里/每小时计算的风速。twc是风寒温度。该公式不适用于风速在每小时2里以下或温度在―58华氏度以下及41华氏度以上。
编写一个程序,提示用户输人一个-58华氏度到41华氏度之间的温度和一个大于等于每小时2里的风速,然后显示风寒温度。这里是一个示例运行。
a = float(input("Enter the temperature in Fahrenheit between -58 and 41:"))
b = float(input("Enter the wind speed in miles per hour:"))
t = 35.74 + 0.6215*a - 35.75*b**0.16 +0.4275*a*b**0.16
print("The wind chill index is %.5f"%t)
(物理方面:计算跑道长度)假定给出飞机的加速度a和起飞速度v,可以根据以下公式计算出飞机起飞所需要的最短跑道长度。
length = 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 %.3f meters" %length)
(分割数字)编写一个程序,提示用户输入四位整数并以反向顺序显示。这里是一个示例运行。
a = int(input("enter an integer:"))
b = a%10
c = a//10%10
d = a//10//10%10
e = a//1000
print("%s\n%s\n%s\n%s\n"%(b,c,d,e))
(几何方面:三角形的面积)编写一个程序,提示用户输人三角形的三个顶点(x1,y1 )、(x2,y2)和(x3,y3)然后显示它的面积。计算三角形面积的公式如下所示。
import math
x1,y1,x2,y2,x3,y3 = eval(input("Enter three points for a triangle:"))
side1 = math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2))
side2 = math.sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3))
side3 = math.sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3))
s = (side1 + side2 + side3)/2
area = math.sqrt(s*(s-side1)*(s-side2)*(s-side3))
print(area)
(几何方面:正六边形的面积)编写一个程序,提示用户输入正六边形的边长并显示它的面积。
计算正六边形面积的公式是,其中s是边长,这里一个示例运行。
s = float(input("Enter the side:"))
a = (3*3**0.5/2)*s**2
print(a)
(金融应用程序:复利值)假设你每月存100美元到一个年利率为5%的储蓄账户。因此,月利率是0.05/12=0.004 17。第一个月后、账户里的数目变为:
100 * (1 + 0.00417) = 100.417
第二个月后,账户里的数目变为:
(100 + 100.417)* (1 + 0.00417) = 201.252
第三个月后,账户里的数目变为:
(100 + 201.252)* (1 + 0.00417) = 302.507
依次类推。
编写一个程序,提示用户键入每月存款数然后显示六个月后的账户总额。这里是程序的一个示例运行。
a = float(input("Enter the monthly saving amount:"))
b = a * (1 + 0.00417)
b = (a + b) * (1 + 0.00417)
b = (a + b) * (1 + 0.00417)
b = (a + b) * (1 + 0.00417)
b = (a + b) * (1 + 0.00417)
b = (a + b) * (1 + 0.00417)
print(b)
(金融应用程序:计算未来投资额)使用下面的公式编写一个读取投资额、年利率和年数然后显示未来投资额的程序:
未来投资额=投资额×( 1+月投资率)**月数
例如:如果你输人金额1000,而年利率为4.25%,年数为1,那么未来投资总额就是1043.33。这里是一个示例运行。
a = float(input("Enter investment amount:"))
b = float(input("Enter annual interest rate:"))
c = float(input("Enter number of years:"))
d = a * ((1 + b/100/12)**(c*12))
print("Accumulated value is %s" %d)
你可以使用数学函数解决许多计算问题。例如:已知三角形的三条边,你可以使用下面的公式计算出三角形的三个角。
import math
a,b,c = eval(input("请输入三角形三边长度:"))
A = math.acos((a * a - b * b -c * c) / (-2 * b * c))
B = math.acos((b * b - a * a -c * c) / (-2 * a * c))
C = math.acos((c * c - b * b -a * a) / (-2 * a * b))
A = math.degrees(A)
B = math.degrees(B)
C = math.degrees(C)
print("三边对应的三个角为:%s, %s, %s"%(A,B,C))
(几何学:一个正多边形的面积)正多边形是边长相等的多边形,而且所有的角相等。计算正多边形面积的公式是:
这里的s是边长。编写一个程序,提示用户输入边数以及正多边形的边长,然后显示它的面积。下面是一个示例运行。
import math
n = int(input("Enter the number of sides:"))
s = float(input("Enter the side:"))
area = (n*s**2)/(4*math.tan(3.14/n))
print("The area of the polygon is ",area)
(反向数字)编写一个程序,提示用户输人一个四位整数,然后显示颠倒各位数字后的数。下面是一个示例运行。
a = int(input("Enter an integer:"))
b = a%10
c = a//10%10
d = a//10//10%10
e = a//1000
f = 1000*b+100*c+10*d+e
print("The reversed number is",f)
现在,我们来看一个使用本节所讲的特性的示例程序。假如你想开发一个程序将一定数量的钱分类成几个更小货币单元。该程序让用户输人总金额,这是一个用美元和美分表示的浮点值、然后输出一个报告,罗列出等价的货币:美元、两角五分硬币、一角硬币、五分硬币以及美分个数。
你的程序应该报告最大数目的美元,然后依次是二角五分硬币、一角硬币、五分硬币以及美分个数,这样就得到最小量的硬币。
下面是编写这个程序的步骤:
1)提示用户输入一个十进制带小数点的数字例如:11.56。
2)将钱数( 11.56)转换成分数( 1156 )。
3)将分数除以100得到美元个数。使用分数%100得到余数即是剩余的分数。
4)将剩余的分数除以25得到两角五分硬币的个数。使用分数%25得到余数即是剩余的分数。
5)将剩余的分数除以10得到一角硬币的个数。使用分数%10得到余数即是剩余的分数。
6)将剩余的分数除以5得到五分硬币的个数。使用分数%5得到余数即是剩余的分数。
7)剩余的分数就是一美分硬币数。
8)显示结果。
a = float(input("输入一个十进制带小数点的数字:"))
b = a*100
c = b//100
b = b%100
d = b//25
b = b%25
e = b//10
b = b%10
f = b//5
b = b%5
sum = (100 * c +25 * d +10 * e +5 * f + b)
print(c,d,e,f,b)
print(sum)
(金融应用程序:工资表)编写一个程序,读取下面的信息,然后打印一个工资报表。
雇员姓名(例如:史密斯)
一周工作时间(例如:10 )
每小时报酬(例如:9.75 )
联邦预扣税率(例如:20%)
州预扣税率(例如:9%)
一个示例运行如下所示。
name = input("Enter employee's name:")
time = float(input("Enter number of hours worked in a week:"))
pay = float(input("Enter hourly pay rate:"))
a = float(input("Enter federal tax withholding rate:"))
b = float(input("Enter state tax withholding rate:"))
c = pay * time
d = c * a
e = c * b
f = d + e
total = c - f
print("Employee Name:",name)
print("Hours Worked:",time)
print("Pay Rate:$%s"%pay)
print("Gross Pay:$%s"%c)
print("Deductions:")
print("Federal Withholding (%s):$%.2f"%(a,d))
print("State Withholding(%s):$%.2f"%(b,e))
print("Total Deductions:$%.2f"%f)
print("Net Pay:$%.2f"%total)