Python 练习的困难
我正在做《实用编程》这本书里的Python练习,但在第二章的第九个练习上卡住了,这个练习和第七个练习有关:
第7个练习:在美国,汽车的燃油效率是用每加仑多少英里来衡量的。而在公制系统中,通常是用每100公里多少升来衡量。请写一个叫做
convert_mileage
的函数,将每加仑多少英里转换为每100公里多少升。
我写的程序是这样的:
def convert_mileage(miles_per_gallon):
liters_per_gallon = 3.785411784
kilometers_per_mile = 1.609344
liters_per_100 = (100*liters_per_gallon)/(kilometers_per_mile*miles_per_gallon)
print miles_per_gallon,'miles per gallon are',liters_per_100,'liters per 100 kilometers.'
convert_mileage(40)
convert_mileage(20)
现在,第九个练习是这样的:
第9个练习:定义一个叫做
liters_needed
的函数,它接收一个表示距离(单位是公里)的值和一个表示车辆燃油效率的值,并返回在这个距离内需要多少升汽油。你的函数定义应该调用你在之前的练习中定义的convert_mileage
函数。
我完全不知道怎么把第一个函数和第二个函数连接起来……而且我对燃油效率和用升数旅行的整个概念也有点搞不懂。如果有人能帮帮我,那就太好了!谢谢 :)
2 个回答
1
在编程中,有时候我们会遇到一些问题,比如代码运行不正常或者出现错误。这时候,我们可以去一些技术论坛,比如StackOverflow,去寻找解决方案或者向其他人请教。
在这些论坛上,很多人会分享他们的经验和解决方法。你可以看到其他人提问,描述他们遇到的具体问题,然后会有一些人给出建议或者解决方案。这种互动可以帮助我们更快地找到问题的根源,并学习到新的知识。
总之,技术论坛是一个很好的资源,适合任何想要提高编程技能的人去学习和交流。
#onverting l/100km into mpg
def liters_100km_to_miles_gallon(liters):
kms_per_mile=1.609344
liters_per_gallon=3.785411784
kms_per_liter=100/liters
kms_per_gallon=kms_per_liter*liters_per_gallon
miles_per_gallon=kms_per_gallon/kms_per_mile
return miles_per_gallon
#onverting mpg into 1/100km
def miles_gallon_to_liters_100km(miles):
kms_per_mile=1.609344
liters_per_gallon=3.785411784
gallons_per_100miles=100/miles
gallons_per_100kms=gallons_per_100miles/kms_per_mile
liters_per_100kms=gallons_per_100kms*liters_per_gallon
return liters_per_100kms
print(liters_100km_to_miles_gallon(3.9))
print(liters_100km_to_miles_gallon(7.5))
print(liters_100km_to_miles_gallon(10.))
print(miles_gallon_to_liters_100km(60.3))
print(miles_gallon_to_liters_100km(31.4))
print(miles_gallon_to_liters_100km(23.5))
# output
60.31143162393162
31.36194444444444
23.52145833333333
3.9007393587617467
7.490910297239916
10.009131205673757
2
这个练习要求你重复使用你的convert_mileage
函数。所以,不仅仅是打印计算出来的值,你还需要返回
这个值。把你的函数改成下面这样:
LITERS_PER_GALLON = 3.785411784
KILOMETERS_PER_MILES = 1.609344
def convert_mileage(miles_per_gallon):
"""convert miles-per-gallon to liters per 100 kilometers"""
return (100*LITERS_PER_GALLON)/(KILOMETERS_PER_MILES*miles_per_gallon)
现在你可以调用这个函数,并在其他计算中重复使用它的结果:
def liters_needed(distance_km, miles_per_gallon):
"""determine liters needed for distance with given miles per gallon"""
liters_per_100km = convert_mileage(miles_per_gallon)
return liters_per_100km * distance_km / 100
现在你在调用这些函数的时候,需要打印出结果:
print "Liters needed for 200km with 15mpg:", liters_needed(200, 15)