python編程入門課後作業答案?我們從長度開始,在英國和美國,英寸和英裡常用來表示長度,而其他大多數國家使用厘米和千米,我來為大家科普一下關于python編程入門課後作業答案?下面希望有你要的答案,我們一起來看看吧!
我們從長度開始,在英國和美國,英寸和英裡常用來表示長度,而其他大多數國家使用厘米和千米。
一英寸約等于2.54厘米,我們可以使用乘法運算轉換成厘米,然後繼而轉換成米、千米。例如,我們可以将25.5英寸轉換為:
>>> (25.5 * 2.54) / 100
0.6476999999999999
另一方面,1英裡大約是1.609千米,我們可以将650英裡轉換成650*1.609千米:
>>> 650 * 1.609
1045.85
現在再來看一下溫度轉換——從華氏溫度到攝氏溫度,以及反向轉換。使用以下公式将華氏溫度轉換為攝氏溫度:
其中,C為華氏溫度,F為攝氏溫度,比如98.6華氏度是人體的正常溫度,得到相應的攝氏溫度,我們應該這樣做:
>>> F = 98.6
>>> (F - 32) * (5/9)
37.0
而若是想将攝氏溫度轉換為華氏溫度,将上述公式變形即可
我們依然可以輸入公式進行計算
>>> C = 37
>>> C * (9/5) 32
98.60000000000001
但是一次一次的輸入公式是非常麻煩的,我們需要一個單位轉換程序,該程序提供給用戶一個菜單,用戶可以選擇要執行的轉換,然後輸出計算結果,程序如下:
'''
Unit converter : Miles and Kilometers
'''
def print_menu():
print('1. Kilometers to Miles')
print('2. Miles to Kilometers')
def km_to_miles():
km = float(input('Enter distance in kilometers : '))
miles = km / 1.609
print('Distance in miles: {0}'.format(miles))
def miles_to_km():
miles = float(input('Enter distance in Miles : '))
km = miles * 1.609
print('Distance in kilometers: {0}'.format(km))
if __name__ == '__main__':
print_menu() # ①
choice = input('Which conversion would you like to do : ') # ②
if choice == '1':
km_to_miles()
if choice == '2':
miles_to_km()
這個程序比較長,但是不用擔心,還是比較簡單的。①處,調用print_menu()函數,輸出兩個菜單選項,用戶輸入要進行的類型轉化即可,然後在②處會記錄用戶的選擇,進入相應的轉換函數,轉換函數會要求用戶輸入距離,然後使用相應的公式轉換并顯示結果。
1. Kilometers to Miles
2. Miles to Kilometers
Which conversion would you like to do : 1 # ①
Enter distance in kilometers : 1000
Distance in miles: 621.5040397762585
可以看到我們選擇了千米轉換為英裡這個函數,輸入1000km然後輸出了計算結果,大約622英裡。
在這裡,你可以擴展這個程序,實現厘米,分米,米這些單位與英裡英寸的轉換。
1.5.4 求二次方程的根我們首先來回顧一下數學中二次方程的求根方法,對于ax^2 bx c = 0這樣的二次方程,我們可以根據判定式來描述方程解的形式
其中,判定式為b^2 -4ac
其次,給出方程的求根公式:
那麼,我們就可以通過給定的一元二次方程的系數a,bc來進行求解
>>> a = 1
>>> b = 2
>>> c = 1
求根公式中均包含和,我們将其命名為A,B
>>> A = - b / (2 * a)
>>> B = (b ** 2 - 4 * a * c) ** 0.5 / (2 * a)
此時即可進行求解
>>> x1 = A B
-1.0
>>> x2 = A - B
-1.0
這個例子中,我們沒有判定這個方程是否有解,實際中這樣子是行不通的,這裡隻是給出了求根的一般步驟,下面,給出完整的求根函數
'''
Quadration equation root calculator
'''
def roots(a, b, c):
A = - b / (2 * a)
B = (b ** 2 - 4 * a * c) ** 0.5 / (2 * a)
x1 = A B
x2 = A - B
print('x1 = {0}'.format(x1))
print('x2 = {0}'.format(x2))
if __name__ == '__main__':
a = float(input('Enter a : '))
b = float(input('Enter b : '))
c = float(input('Enter c : '))
if (b ** 2 - 4 * a * c) >= 0:
roots(a, b, c)
else:
print('Equation no roots!')
和剛剛一樣,創建三個标簽來接收鍵盤輸入的常數a,b,c,如股票判定式大于等于0的話就調用roots()函數進行求解,否則輸出方程無解。
Enter a : 1
Enter b : 2
Enter c : 1
x1 = -1.0
x2 = -1.0
事實上,嚴格來講,方程無根并不是很準确,判定式小于0的話我們一般認為存在複數根,上述代碼稍作修改,即可進行求解,去掉main函數中的判斷條件即可
if __name__ == '__main__':
a = float(input('Enter a : '))
b = float(input('Enter b : '))
c = float(input('Enter c : '))
roots(a, b, c)
此時,我們輸入一個無根方程,如X^2 x 1 = 0
Enter a : 1
Enter b : 1
Enter c : 1
x1 = (-0.49999999999999994 0.8660254037844386j)
x2 = (-0.5-0.8660254037844386j)
二次方程根求解完畢。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!