我有一個數字列表,我必須使用一個函數來顯示它們的攝氏度,它們現在在華氏溫度。使用函數來顯示列表中的數字
nums = [30,34,40,36,36,28,29,32,34,44,36,35,28,33,29,40,36,24,26,30,30,32,34,32,28,36,24,32]
def fahrenToCel(c):
c = (f - 32) * (5/9)
return c
print fahrenToCel(nums)
這就是我,有人可以幫我
我有一個數字列表,我必須使用一個函數來顯示它們的攝氏度,它們現在在華氏溫度。使用函數來顯示列表中的數字
nums = [30,34,40,36,36,28,29,32,34,44,36,35,28,33,29,40,36,24,26,30,30,32,34,32,28,36,24,32]
def fahrenToCel(c):
c = (f - 32) * (5/9)
return c
print fahrenToCel(nums)
這就是我,有人可以幫我
如果你有一個列表the_list
,你想一個函數f
應用到每個元素,創造成果的一個新的列表:
new_list = [f(x) for x in the_list]
你的函數似乎將一個數字作爲輸入,但你給它一個數字列表。如果你想使用該功能,以產生轉換的數字的列表,你可以使用列表理解:
cels = [fahrenToCel(fah) for fah in nums]
print ','.join([str(fahrenToCel(fahren)) for fahren in nums])
這不僅會創建一個新的列表,但也將加入它作爲一個逗號分隔的字符串。
如果nums
比較長,可以使用生成器表達式而不是列表理解來節省一些內存和性能。你只需要脫下方括號:
print ','.join(str(fahrenToCel(fahren)) for fahren in nums)
最簡單的方法是使用一個爲循環遍歷表並打印每一個結果:
#!/usr/bin/env python
# def farentoCel(x): ...
# ...
if __name__ == '__main__':
import sys
for each_num in sys.argv[1:]:
print farentoCel(int(each_num))
正如其他人所說你可以用一個列表理解(表達式),甚至一個生成器理解(在較新版本的Python中)替換這個顯式循環。
在這種情況下,我展示了一個非常簡單的框架,供您用於測試簡單函數。 如果_ 名稱 _ =='_ 主要 _':套件是一種Python慣例,用於將您的函數,類和其他定義與代碼的運行時分開。這可以用來構造代碼,以便可以在其他代碼中重新使用(導入到)代碼,同時還可以在命令行實用程序(包裝器)中公開某些功能或提供默認接口(可能是GUI)。
在您的模塊沒有簡單可訪問的實用程序的相當普遍的情況下(只有當它被合併到其他代碼中時它纔有用),那麼您可以使用'套件來包含單元測試用例。
完全是什麼問題? – Santa 2011-04-12 22:17:31
請單獨做功課。這是連續第五個問題,您只需複製/分頁從每個答案到下一個問題的代碼。 – halfdan 2011-04-12 22:18:47
學習如何通過提問隨機問題進行編程是一個單調乏味的過程。您可能希望[首先從教程開始](http://wiki.python.org/moin/BeginnersGuide/NonProgrammers) - 由編寫思想的人編寫,如何一次一個地引入編程概念,例子和解決問題 - 無疑會帶來更好的結果,而不僅僅是在這裏尋求幫助。我們很樂意提供幫助,但[巴斯德研究所指南](http://www.pasteur.fr/formation/infobio/python/)看起來像是一個更有用的方式來度過一個晚上。 – sarnold 2011-04-12 23:55:25