對昨天的代碼進行最佳化,用十四行實現了和昨天一樣的功能
代碼如下:
print('歡迎使用BMI指數計算\n')
h=float(input('請輸入你的身高(m):'))
w=float(input('請輸入你的體重(kg):'))
s=w/(h*h)
if s<18.5:
print('你的BMI指數為:',s,'\n有點偏瘦啦~稍胖些會更健康哦')
elif s<=25:
print('你的BMI指數為:',s,'\n正常體重~非常健康。不錯不錯')
elif s<=28:
print('你的BMI指數為:',s,'\n有些偏胖,鍛煉計劃可以開始啦')
elif s<=32:
print('你的BMI指數為:',s,'\n減肥減肥。我們都是潛力股~')
else:
print('你的BMI指數為:',s,'\n體脂過高會引起多種併發症哦,堅持運動吧。')
今天繼續學習Python,迴圈。
有for x in...迴圈和while迴圈
前者是把每個元素代入變數想,然後執行縮排塊的語句,後者是只要條件滿足就不斷迴圈,條件不滿足就退出迴圈。
另外接觸到了sum()和range()函數。
依然不做過多說明,部分內容有紙質筆記。下面是我的練習
請利用迴圈依次對list中的每個名字列印出Hello, xxx!:
# -*- coding: utf-8 -*-L = ['Bart', 'Lisa', 'Adam']
以下是代碼 names=['Michael','Lisa','Adam']
for name in names:
print("Hello,"+name)
運行正確。
還可以用while來實現,如下:
L = ['Bart','Lisa','Adam']
n = 0
while n < len(L):
print('hello: %s !' % L[n])
n = n + 1
運行正確。
如果寫出了死迴圈語句,可以用Ctrl+c退出程式,或強制結束Python程式。
我試圖寫出一個Python死迴圈語句,好玩有意思,但是沒什麼靈感,可能明天會實現。
今天還學習了dict(dictionary)和set的使用,Python內建了字典:dict的支援,dict全稱dictionary,在其他語言中也稱為map,使用鍵-值(key-value)儲存,具有極快的尋找速度。
和list比較,dict有以下幾個特點: 尋找和插入的速度極快,不會隨著key的增加而變慢; 需要佔用大量的記憶體,記憶體浪費多。
而list相反: 尋找和插入的時間隨著元素的增加而增加; 佔用空間小,浪費記憶體很少。
所以,dict是用空間來換取時間的一種方法。
dict可以用在需要高速尋找的很多地方,在Python代碼中幾乎無處不在,正確使用dict非常重要,需要牢記的第一條就是dict的key必須是不可變對象。
這是因為dict根據key來計算value的儲存位置,如果每次計算相同的key得出的結果不同,那dict內部就完全混亂了。這個通過key計算位置的演算法稱為雜湊演算法(Hash)。
要保證hash的正確性,作為key的對象就不能變。在Python中,字串、整數等都是不可變的,因此,可以放心地作為key。而list是可變的,就不能作為key
set和dict類似,也是一組key的集合,但不儲存value。由於key不能重複,所以,在set中,沒有重複的key。
要建立一個set,需要提供一個list作為輸入集合,我們可以通過add(key)方法可以添加元素到set中,可以重複添加,但不會有效果,通過remove(key)方法可以刪除元素,另外,set可以看成數學意義上的無序和無重複元素的集合,因此,兩個set可以做數學意義上的交集、並集等操作。
至此,Python基礎知識已經基本完成,接下來就是函數等知識了。
就這樣。
明天學CSS基礎。