tft每日頭條

 > 科技

 > python編程入門課後作業答案

python編程入門課後作業答案

科技 更新时间:2024-12-27 20:40:55

python編程入門課後作業答案?我們從長度開始,在英國和美國,英寸和英裡常用來表示長度,而其他大多數國家使用厘米和千米,我來為大家科普一下關于python編程入門課後作業答案?下面希望有你要的答案,我們一起來看看吧!

python編程入門課後作業答案(Python數字編程第一章練習)1

python編程入門課後作業答案

1.5.3 轉換測量單位

我們從長度開始,在英國和美國,英寸和英裡常用來表示長度,而其他大多數國家使用厘米和千米。

一英寸約等于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這樣的二次方程,我們可以根據判定式來描述方程解的形式

  • 判定式 > 0,方程有兩個根
  • 判定式 = 0,方程僅有一根
  • 判定式 < 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每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved