2016.3.17.Python之迴圈__Python

來源:互聯網
上載者:User

對昨天的代碼進行最佳化,用十四行實現了和昨天一樣的功能

代碼如下:

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基礎。





聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.