pythonifnotor
1. python怎麼判斷讀取的是空行
是空字元串還是空?
空字元串也是有內容的,只是沒東西
但為空,是指什麼都沒有
先判斷是否為空
if not str:
print '空對象「
if not len(str.strip()) ##空字元串
print '空字元串'
如果不考慮是哪一種,可以結合來判斷
if not str or not len(str.strip()):
Print '空』
2. python if語句是什麼
Python條件語句是通過一條或多條語句的執行結果(True或者False)來決定執行的代碼塊。
Python程序語言指定任何非0和非空(null)值為true,0 或者 null為false。
Python 編程中 if 語句用於控製程序的執行。其中"判斷條件"成立時(非零),則執行後面的語句,而執行內容可以多行,以縮進來區分表示同一范圍。
else 為可選語句,當需要在條件不成立時執行內容則可以執行相關語句。
(1)簡單的if語句:
在第1行中,可包含任何條件測試,而在緊跟在測試後面的縮進代碼塊中,可執行任何操作。如果條件測試的結果為True,Python就會執行緊跟在if語句後面的代碼;否則Python將忽略這些代碼。
(2)if-else語句
經常需要在條件測試通過了時執行一個操作,並在沒有通過時執行另一個操作;在這種情況下,可使用Python提供的if-else語句。if-else語句塊類似於簡單的if語句,但其中的else語句,讓你能夠指定條件測試未通過時要執行的操作。
(3)if-elif-else語句
經常需要檢查超過兩個的情形,為此可使用Python提供的if-elif-else結構。Python只執行if-elif-else結構中的一個代碼塊,它依次檢查每個條件測試,直到遇到通過了的條件測試。測試通過後,Python將執行緊跟在它後面的代碼,並跳過餘下的測試。
條件測試:
(1)概念:
每條if語句的核心都是一個值為True或False的表達式,這種表達式被稱為條件測試。Python根據條件測試的值為True還是False來決定是否執行if語句中的代碼。如果條件測試的值為True,Python就執行緊跟在if語句後面的代碼;如果為False,Python就忽略這些代碼。
(2)檢查是否相等:
通常情況下會用 「==」的左值和右值是否相等來判斷程序是否繼續進行,會區分大小寫也會用「!=」 來表示不相等繼續進行,相等則忽略。
(3)檢查多個條件:
and: 要檢查是否兩個條件都為True,可使用關鍵字and將兩個條件測試合而為一;如果每個測試都通過了,整個表達式就為True;如果至少有一個測試沒有通過,整個表達式就為False。
or: 關鍵字or也能夠讓你檢查多個條件,但只要至少有一個條件滿足,就能通過整個測試。僅當兩個測試都沒有通過時,使用or的表達式才為False。
(4)檢查特定值是否包含在列表內:
要判斷特定的值是否已包含在列表中,可使用關鍵字in。
(5)檢查特定值是否不包含在列表內:
確定特定的值未包含在列表中很重要,可使用關鍵字not in。
(6)布爾表達式:
布爾表達式的結果要麼為True,要麼為False。
3. python-邏輯運算:not\and\or和布爾值:True\False
這東西在每一個語言都有,and or not 對應與、或、非三種邏輯運算;True和False是bool值,即真和假。
邏輯運算和布爾值經常用於if判斷語句、循環語句的條件語句。
首先作為控制條件應該是一個布爾值,即真和假——True和false。
python的內置類——布爾類,只有兩個實例:True和false。對於一般數字而言,0是False,非0是True;對於序列和容器類型,如列表、字典、字元串等,空為False,非空為True。
所以就有了這樣的用法:
輸出:1 為True
輸出: 0 為 False
輸出:a = '字元串'
這了可以看出一個實例本身可以作為控制條件,這是因為,解釋器會先把這個實例轉換為bool類型,然後根據這個bool類型執行程序。即bool(a) = True、bool(b) = False。
但是只用這樣的方式控製程序顯然不夠,比如我希望a為空,b為非空的時候,我輸出「我天下第一」,這怎麼辦?
如果不用not and or 就會寫成這樣:
輸出:我天下第一
可以把a 看成False,b看成True。
從這里我們可以看到,我們用了兩層if--else語句來判斷a為空,b為非空的情況,那麼我用邏輯運算呢?
輸出:我天下第一
一樣的:可以把a 看成False,b看成True。那麼not a and b的意思就是:not False and True
這時候就是邏輯運算符的優先順序的問題,這可以借鑒C語言的那本書《C程序設計》第五版的第92頁
!非
算數運算符
關系運算符
&& 和 ||
賦值運算符
運算優先順序從上到下,越來越低。
這是C語言里的,在python里就是:
not -------------->高
and 和 or ---------->低
所以我們先算not
於是 not False and True 就成所以了True and True這就很清楚了結果為True,所以「我天下第一」。
所以我們就可以總結出:
1.先將實例變為布爾值
2.在計算所有的not
3.根據語言特性,從左到右或者從右到左計算邏輯運算結果。
當然在python中是從左到右。
and 和 or 運算具有短路保護!什麼意思呢?看一個栗子
1 or a
or的左邊是1也就是True,根據or的運演算法則,只要有一個真則為真,所以不管a是真還是假,結果都是真。
0 and a
and 左邊為0,為False,同樣,and只要有一個為假則為假,所以不管a是真還是假,結果都是假。
所以and 和 or 的結果可以根據第一個操作數的值來確定,那麼他就不會對第二個操作數進行運算。
這個功能用起來要很小心,不然很可能會出現想不到的結果。
這里會輸出什麼呢?
輸出:我天下第一
因為x是True,無論y and z 的結果是什麼,這個語句的結果都是True,這就是短路保護,當然也有的人說惰性計算。
我覺得迭代器、生成器那個才叫惰性計算。
4. Python之if語句及條件語句
其實各個語言的基礎都是相通的。
words = ['soften', 'civilize', 'personalization', 'bakery', strain', 'glimpse', 'royals']
for word in words:
if word == 'civilize':
print(word.upper()) #全部大寫輸出
else:
print(word.title()) #首字母大寫輸出
result:
Soften
CIVILIZE
Personalization
Bakery
Strain
Glimpse
Royals
*
條件語句包括:!=<=>=>< #這點python還是做的很好哈。
chl = 21
fsy = 32
chl >=20 and fsy <=31 #檢查兩個條件語句,使用關鍵詞and result:False
(chl >=20) and (fsy <=31) #也可將每個測試放在一對括弧內
chl >=20 or fay <=31 #使用or result:True
*
word = ['bride', 'castle', 'masterpieces', 'mystery', 'tragedy', 'bakery', 'strain', 'glimpse']
'castle' in word #使用關鍵詞in讓python檢查列表中是否有'castle'
words = ['emperor', 'castle', 'royal', 'diplomat', 'bakery', 'strain', 'glimpse']
chl = 'emperors'
if chl not in words: #if not in
print("The word is not in words list!")
*
age = 12
if age <= 4:
print("I like dessert and trade!")
elif age <= 18: #python這點不一樣哈,有個elif,可以有若干個elif語句
print("I like diplomat and mpling!")
else:
print("I like nobility and sketch!")
result:
I like diplimat and mpling!
*
age = 12
if age <= 4:
price = 0
elif age <= 18:
price = 10
else:
price = 20
print("You admission cost is $ " + str(price) +"!") #price要str函數告訴python輸出字元
**當其中一個if語句通過測試,python會跳過其他的if語句測試。
eg:尋找兩個列表共同的元素(交集)
chls = ['emperor', 'nobility', 'bakery', 'sauce', 'royal']
fsys = ['emperor', 'Spring Festival', 'approaching', 'nobility']
for chl in chls:
if chl in fsys:
print("We can discover " + chl +"!")
else:
print("Oh my god! The Spring Festival is approaching, prepare " + chl + "!")
result:
We can discover emperor!
Oh my god! The Spring Festival is approaching, prepare nobility!
Oh my god! The Spring Festival is approaching, prepare bakery!
Oh my god! The Spring Festival is approaching, prepare sauce!
Oh my god! The Spring Festival is approaching, prepare royal!
5. python 判斷是否含有數字,英文字元和漢字
str=''
這里到str代表任意字元串
1.判斷是否含有數字
if str >= u'\u4e00' and str =< u'\u9fa5':
return "包含漢字"
else:
return "不包含漢字"
2.判斷一個unicode是否是英文字母
if (str>= u'\u0041' and str<=u'\u005a') or (str >= u'\u0061'and str<=u'\u007a'):
return "包含"
else:
return "不包含"
3.判斷是否非漢字,數字和英文字元
if not (is_chinese(uchar) or is_number(uchar) or is_alphabet(uchar)):
return True
else:
return False
6. python字元串相等if,python判斷字元串是否為空用什麼方法
reaCode=None
if(reaCode==None):
print"isnull"
else:
print"not!"
if(reaCodeisNone):
print"isnull"
else:
print"not!"
reaCode=''
if(reaCodeis''):
print"isnullstring"
else:
print"not!"
reaCode=''
if(reaCode==''):
print"isnullstring"
else:
print"not!"
if(reaCode==None):
print"isnull"
else:
print"not!"
if(reaCodeisNone):
print"isnull"
else:
print"not!"
None是一個空的對象,代表什麼都沒有。
而'',是一個字元串對象,代表一個空的字元串。
7. Python題目如圖,求解!!!
題主你好,
代碼:
------
希望可以幫到題主, 歡迎追問.
希望可以
8. python問題,關於if的
.. continue with "自由de王國"
or
returnall(A,B,C)
9. python中循環語句
1、if語句
Python中的if子句由三部分組成:關鍵字本身、用於判斷結果真假的條件表達式以及當表達式為真或者非零時執行的代碼塊。if 語句的語法如下:
if expression:
expr_true_suite
if 語句的expr_true_suite代碼塊只有在條件表達式的結果的布爾值為真時才執行,否則將繼續執行緊跟在該代碼塊後面的語句。
(1)多重條件表達式
單個if語句可以通過使用布爾操作符and、or和not,實現多重判斷條件或是否定判斷條件。
(2)單一語句的代碼塊
如果一個復合語句(例如if子句、while或for循環)的代碼塊僅僅包含一行代碼,那麼它可以和前面的語句寫在同一行上。如if make_hard_: send_data_to_printer(),這樣的單行語句是合法的, 盡管它可能方便,但這樣會使得代碼更難閱讀, 所以推薦將這行代碼移到下一行並合理地縮進。另外一個原因就是如果你需要添加新的代碼, 你還是得把它移到下一行。
2、else語句
Python提供了與if語句搭配使用的else語句,如果if語句的條件表達式的結果布爾值為假,那麼程序將執行 else 語句後的代碼。其語法如下:
if expression:
expr_true_suite
else:
expr_false_suite
在C語言中,不會在條件語句范圍外發現else語句, 但Python不同,可以在while和for循環中使用else語句,在循環中使用時,else子句只在循環完成後執行,也就是說break語句也會跳過else塊。
例:顯示出10到20中的數字的最大約數
在CODE上查看代碼片派生到我的代碼片
#!/usr/bin/env python
def showMaxFactor(num):
count = num / 2
while count > 1:
if (num % count == 0):
print 'largest factor of %d is %d' % (num, count)
break
count = count - 1
else:
pr
10. python 如何讓用戶只能輸入指定字元
def root(x):
class SystemError(BaseException):pass
if not ((x is '0-9') or (x is 'a-f') or (x is 'A-f')):
raise SystemError
或者正則表達式
def root(x):
import re,sys
if not (re.findall('[0\-9|a\-f|A\-F]',x)):
raise sys.exit()
如果用戶輸入是上面的字元就不做處理,如果不是,則引發錯誤結束