欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

跟老齊學Python之復習if語句

系統 1923 0

基本語句結構

復制代碼 代碼如下:

if 判斷條件1:
??? 執行語句1……
elif 判斷條件2:
??? 執行語句2……
elif 判斷條件3:
??? 執行語句3……
else:
??? 執行語句4……

只有當“判斷條件”的值是True的時候,才執行下面的執行語句。

那么,在python中,怎么知道一個判斷條件是不是真呢?這個問題我們在眼花繚亂的運算符中已經講解了一種數據類型:布爾類型。可以通過一個內置函數bool()來判斷一個條件的結果True還是False。看看下面的例子,是不是能夠理解bool()的判斷規則?

復制代碼 代碼如下:

>>> bool("")
False
>>> bool(0)
False
>>> bool('none')
True
>>> bool(False)
False
>>> bool("False")
True
>>> bool(True)
True
>>> bool("True")
True
>>> bool(3>4)
False
>>> bool("b">"a")
True
>>> bool(not "")
True
>>> bool(not True)
False

忘記了怎么辦?看下面的語句:

if 忘記:
??? 復習-->眼花繚亂的運算符一講
在執行語句中,其實不一定非要把bool()寫上的。如同這樣:

復制代碼 代碼如下:

>>> x = 9

>>> if bool(x>7):?????? #條件為True則執行下面的
...???? print "%d more than 7"%x
... else:
...???? print "%d not more than 7"%x
...
9 more than 7

>>> if x>7:
...???? print "%d more than 7"%x
... else:
...???? print "%d not more than 7"%x
...
9 more than 7

以上兩個寫法是等效的,但是,在實際的編程中,我們不用if bool(x>7)的格式,而是使用if x>7的樣式,還要特別提醒,如果寫成if (x>7),用一個括號把條件表達式括起來,是不是可以呢?可以,但也不是python提倡的。

復制代碼 代碼如下:

>>> if (x>7):?????? #不提倡這么寫,這不是python風格
...???? print "%d more than 7"%x
...
9 more than 7

拉出來溜溜

平時總有人在不服氣的時候說“是騾子是馬,拉出來溜溜”,趙本山有一句名言“走兩步”。其本質都是說“光說不練是假把式”。今天收到一個朋友的郵件,也詢問,在學習python的時候,記不住python的內容。其實不用記,我在前面的課程中已經反復講過了。但是,在應用中,會越來越熟練。

下面就做一個練習,要求是:

接收任何字符和數字的輸入
判斷輸入的內容,如果不是整數是字符,就告訴給用戶;如果是小數,也告訴用戶
如果輸入的是整數,判斷這個整數是奇數還是偶數,并且告訴給用戶
在這個練習中,顯然要對輸入的內容進行判斷,以下幾點需要看官注意:

通過raw_input()得到的輸入內容,都是str類型
要判斷一個字符串是否是由純粹數字組成,可以使用str.isdigit()(建議看官查看該內置函數官方文檔)
下面的代碼是一個參考:

復制代碼 代碼如下:

#! /usr/bin/env python
#coding:utf-8

print "請輸入字符串,然后按下回車鍵:"

user_input = raw_input()

result = user_input.isdigit()

if not result:
??? print "您輸入的不完全是數字"

elif int(user_input)%2==0:
??? print "您輸入的是一個偶數"
elif int(user_input)%2!=0:
??? print "您輸入的是一個奇數"
else:
??? print "您沒有輸入什么呢吧"

特別提醒列為,這個代碼不是非常完善的,還有能夠修改的地方,看官能否完善之?

再來一個如何?

已知一個由整數構成的list,從中跳出奇數和偶數,并且各放在一個list中。

請看官在看下面的參考代碼之前,自己寫一寫。

復制代碼 代碼如下:

#!/usr/bin/env python
#coding:utf-8

import random

numbers = [random.randint(1,100) for i in range(20)] #以list解析的方式得到隨機的list

odd = []
even = []

for x in numbers:
??? if x%2==0:
??????? even.append(x)
??? else:
??????? odd.append(x)

print numbers
print "odd:",odd
print "even:",even

用這個例子演示一下if在list解析中的應用。看能不能繼續改進一些呢?

可以將循環的那部分用下面的list解析代替

復制代碼 代碼如下:

#!/usr/bin/env python
#coding:utf-8

import random

numbers = [random.randint(1,100) for i in range(20)] #以list解析的方式得到隨機的list

odd = [x for x in numbers if x%2!=0]
even = [x for x in numbers if x%2==0]

print numbers
print "odd:",odd
print "even:",even

一個有趣的賦值

對賦值,看官應該比較熟悉了吧,如果要復習,請看《[賦值,簡單也不簡單]》(./127.md)以及《[正規地說一句]》(./201.md)的相關內容。

這里說的有趣賦值是什么樣子的呢?請看:

復制代碼 代碼如下:

>>> name = "qiwsir" if "laoqi" else "github"
>>> name
'qiwsir'
>>> name = 'qiwsir' if "" else "python"
>>> name
'python'
>>> name = "qiwsir" if "github" else ""
>>> name
'qiwsir'

總結一下:A = Y if X else Z

什么意思,結合前面的例子,可以看出:

如果X為真,那么就執行A=Y
如果X為假,就執行A=Z
再看看上面的例子,是不是這樣執行呢?

if語句似乎簡單,但是在編程時間中常用到。勤加練習吧。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 一级毛片免费视频 | 曰韩在线视频 | 奇米影视4色 | 成人综合久久精品色婷婷 | 欧美无乱码久久久免费午夜一区 | 欧美一级黄色片在线观看 | 99久在线视频 | 色就干| 欧美日韩久久久 | 色婷婷久久久久swag精品 | 亚洲三级在线 | 久久国产这里只精品免费 | 一级全黄视频 | 91玖玖| 狠狠色丁香婷婷久久综合考虑 | 十六以下岁女子毛片免费 | 亚洲涩涩| 精产国产伦理一二三区 | 日韩亚洲人成网站在线播放 | 国产精品久久久久久久久久红粉 | 日韩欧美在线观看视频 | 毛片入口| 久久精品国产免费看久久精品 | 久久久久久久蜜桃 | 成人国产激情福利久久精品 | 久久99视频 | 国产精品久久久久久中文字 | 国产视频h | 国产网址在线观看 | 不卡一区 | 免费观看一级毛片 | 国产中文字幕一区 | 午夜一级毛片 | 91视频高清| 一级毛片一 | 精品国产一区二区三区久久久久久 | 国产一区二区三区在线免费观看 | 午夜性啪啪A片免费AAA毛片 | 亚洲一区二区av | 亚洲国产区 | 亚洲欧美一区二区三区在线 |