假設x
是一個已被賦值的字符串變量。編寫一個表達式,其值爲true
當且僅當x
不是字母。寫出一個表達式,其值爲true當且僅當x不是字母
回答
使用正則表達式。 http://www.pythex.org是一個很好的學習點,官方文檔在這裏:https://docs.python.org/2/library/re.html
這樣的事情應該工作,雖然:
if x != '[a-zA-Z]':
這不是Perl。也是數字!=字母。 – kay
感謝您的幫助 –
如果你想檢查的變量x
的類型,可以使用以下命令:
if type(x) is str:
print 'is a string'
在python中,與java等語言不同,String和Char將具有相同的類型和相同的輸出。
type(chr(65)) == str
type('A') == str
編輯:
由於@Kay建議,你應該使用isinstance(foo, Bar)
代替type(foo) is bar
因爲isinstance正在檢查繼承,而類型則沒有。
見this有關isinstance
更多細節VS type
使用isinstance也將支持Unicode字符串。
isinstance(u"A", basestring)
>>> true
# Here is an example of why isinstance is better than type
type(u"A") is str
>>> false
type(u"A") is basestring
>>> false
type(u"A") is unicode
>>> true
編輯2:
使用正則表達式來驗證只有一個字母
import re
re.match("^[a-zA-Z]$", "a") is not None
>>> True
re.match("^[a-zA-Z]$", "0") is not None
>>> False
def isLetter(ch):
import string
return len(ch) == 1 and ch in string.ascii_letters
print(isLetter('A'))
True
謝謝你的幫助 –
*寫出一個表達式,其值爲真當且僅當x不是字母*,這是可能做到最迂迴的方式。 –
原來,它的答案是not((x>='A' and x<='Z') or (x>='a' and x<='z'))
其實Python可以讓你像比較數學符號那樣編寫比較:'a < b < c' <->'a kay
謝謝你告訴我。我將不得不嘗試一下 –
不需要過於複雜'return not x.isalpha()',如果它不是字母,它不能是一個字母 –
- 1. 使用正則表達式只有當且僅當它是一個場
- 2. 正則表達式 - 不是字母而且不只是零
- 3. 在大寫字母之前添加空格的Pythonic方式當且僅當前一個字母不是首都時
- 4. 成語來執行的類型單位當且僅當條件表達式爲true
- 5. 當且僅當串
- 6. 正則表達式只有字母一個大寫字母
- 7. 淡出當且僅當軌道實例變量等於一個
- 8. 設置宏值,當且僅當空
- 9. 當第一個字符是數字時更改爲第一個大寫字母
- 10. 正則表達式的字母數字不僅是工作
- 11. 正則表達式使字母數字值爲大寫
- 12. 當且僅當在MS Access
- 13. Ruby表達式返回前x個字母,也是第一個字
- 14. 將正則表達式匹配值的第一個字母強制爲大寫
- 15. 僅當值爲
- 16. 正則表達式:傳遞查詢字符串當且僅當它包含一些後續參數?
- 17. 正則表達式僅匹配字母
- 18. C#正則表達式首字母大寫其餘小寫
- 19. 正則表達式,其中一個詞首字母大寫,字由_包圍
- 20. 正則表達式小寫字母后跟一個數字
- 21. 正則表達式 - >僅字母和一個圓點
- 22. html5正則表達式,表示大寫第一個字母
- 23. 當按下字母,寫字母a EDITTEXT
- 24. python打印行,當且僅當發現x和y
- 25. 正則表達式(寫正則表達式只有一個字母
- 26. 正則表達式第一個字母不是整數與jquery
- 27. 正則表達式可以是數字字符或兩個字母數字,但不僅字母字符
- 28. 的Tcl:匹配字符串僅當後跟一個數字[正則表達式]
- 29. 正則表達式來驗證僅具有小寫字符串,第一個字符必須是字母
- 30. 僅在第一個字母不是大寫的情況下才將字符串轉換爲小寫字母
那麼你的嘗試看起來像? – ergonaut
我最近嘗試notx.true()和它說備註: ⇒意外標識符:notx,真正 更多提示: ⇒你幾乎可以肯定,應該使用:不 ⇒你幾乎可以肯定,應該使用:X –
'X !='a''測試'x'是否不是。 'x!='a'和x!='b''測試它是不是'a'還是'b'...這應該是您的第一次嘗試。然後你瞭解'in'運算符和/或比較。那麼你可能會偏離正確的道路並學習正則表達式。 – kay