感謝ta的分享!
-->the start
今天寫作業的時候突然想到,一直使用isdigit()方法來處理使用者的輸入選擇是不是數字,但是如果使用者輸入的是負數呢,會不會導致bug?
然後我就試了一下,居然不報錯。。。然後我就納悶了,趕緊試了一下:
先來看看str類的.isdigit()方法的文件。
1很顯然'-10'.isdigit()返回false是因為'-'不是乙個digit。def isdigit(self): #
real signature unknown; restored from __doc__
2"""
3s.isdigit() -> bool45
return true if all characters in s are digits
6and there is at least one character in s, false otherwise.
7"""
8return false
然後我就想怎麼才能讓負數也正確的判斷為整數呢,下面是從網上找到的答案,在這裡記錄下來。
1 num = '正規表示式法:-10'
2if (num.startswith('
-') and num[1:] or
num).isdigit():
3print
(num是整數)
4else:5
print(num不是整數)
1 num = '更pythonic的方法:-10'
2importre3
if re.match(r'
^-?(\.\d+|\d+(\.\d+)?)
', num):
4print
(num是整數)
5else:6
print(num不是整數)
1 num = '當我看到第三個方法的時候,真是感觸頗多,受益匪淺。-10'
2if num.lstrip('-'
).isdigit():
3print
(num是整數)
4else:5
print(num不是整數)
判斷是不是數字isdigit
判斷salary是不是數字,假如是數字就正常執行,不是數字就列印must input digit的提示,並且退出 salary input salary ifsalary.isdigit isdigit 用於判斷是否是數字 salary int salary else print must inpu...
isdigit函式的用法
如果isdigit函式包含在ctype.h標頭檔案中,那字串為數字。計算過程 原型 int isdigit char c 用法 include。功能 判斷字元c是否為數字。說明 當c為數字0 9時,返回非零值,否則返回零。這個函式是判斷某乙個字元是否為數字,可以用乙個字元陣列接受輸入的字元,然後迴圈...
python判斷正數和負數教案 正數和負數優秀教案
1 4 2.1正數和負數 一 背景知識 正數和負數 是 數學 七年級上冊第二章 有理數 中的第一節,這一章是開 啟整個初中階段代數學習的大門。本節內容讓學生在現實的情境中理解負數的引入確實 是實際生活的需要,感受到有理數應用的廣泛性,是在小學學習自然數和分數之後,數的概念的第一次擴充,是自然數和分數...