最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python怎樣判斷一個(gè)數(shù)值(字符串)為整數(shù)

 更新時(shí)間:2023年02月21日 14:42:44   作者:mz_老張  
這篇文章主要介紹了python怎樣判斷一個(gè)數(shù)值(字符串)為整數(shù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

如何判斷一個(gè)數(shù)值(字符串)為整數(shù)

不嚴(yán)格檢查方法

浮點(diǎn)數(shù)的自帶方法is_integer()

如果確定輸入的內(nèi)容為浮點(diǎn)數(shù),是可以直接使用float數(shù)的is_integer()函數(shù)來進(jìn)行判定。

需要注意的是當(dāng)數(shù)字是 1.0這樣的不帶小數(shù)數(shù)值的浮點(diǎn)數(shù)時(shí),會(huì)被默認(rèn)判定為整數(shù)

a=1.0
print(a.is_integer())
#結(jié)果為
True

b=1.1
print(b.is_integer())
#結(jié)果為
False

但是如果數(shù)字本身就是int類型,那么沒有is_integer()函數(shù),會(huì)報(bào)錯(cuò):

a=1
print(a.is_integer())

#報(bào)錯(cuò)
Traceback (most recent call last):
? File "E:/PycharmOut/Test/TestAll/testString/intOrFloat.py", line 7, in <module>
? ? print(a.is_integer())
AttributeError: 'int' object has no attribute 'is_integer'

嚴(yán)格的檢查方法

思路是:先檢查輸入的內(nèi)容是否可以轉(zhuǎn)成float,之后再判定有沒有帶小數(shù)點(diǎn)

def isIntSeriously(number):
? ? result = False
? ? try:
? ? ? ? n = float(number)
? ? ? ? if n.is_integer() and str(number).count('.') == 0:
? ? ? ? ? ? result =True
? ? except :
? ? ? ? print('非數(shù)字')

? ? return result


print(isIntSeriously('a3'))
print()
print(isIntSeriously('3'))
print()
print(isIntSeriously('3.0'))

#結(jié)果
非數(shù)字
False

True

False

小結(jié):

當(dāng)輸入確定為浮點(diǎn)類型時(shí),我們關(guān)心的數(shù)值是否為整數(shù),可以使用is_integer(),

比如我就希望1.0,2.0這樣的是整數(shù)

當(dāng)不確定輸入類型時(shí),可以使用上述嚴(yán)格的判定方法

判斷輸入的字符串是否是整數(shù)還是小數(shù)

遇到一個(gè)問題:如果輸入的是字符串還是整數(shù)或者是小數(shù)如何將他們區(qū)分?

首先isdigit()只能用來判斷字符串輸入的是否是整數(shù),無法判斷是否是小數(shù)

所以,先判斷該字符串是否是整數(shù),如果是返回3,

不是的話說明是字母或者是小數(shù),然后判斷是否是小數(shù),如果是小數(shù)的話返回1,

是字母的或其他的話返回2

def is_float(i):
? ? if i.isdigit():#只能用來判斷整數(shù)的字符串
? ? ? ? return ?3
? ? else:
? ? ? ? if i.count('.') == 1: ?# 先判斷里面有沒有小數(shù)點(diǎn)
? ? ? ? ? ? new_i = i.split('.') ?# 去掉小數(shù)點(diǎn)
? ? ? ? ? ? right = new_i[-1] ?# 將小數(shù)分為小數(shù)點(diǎn)右邊
? ? ? ? ? ? left = new_i[0] ?# 小數(shù)點(diǎn)左邊
? ? ? ? ? ? if right.isdigit(): ?# 如果小數(shù)點(diǎn)右邊是數(shù)字判斷小數(shù)點(diǎn)左邊
? ? ? ? ? ? ? ? if left.isdigit(): ?# 如果小數(shù)點(diǎn)左邊沒有-直接返回
? ? ? ? ? ? ? ? ? ? return 1
? ? ? ? ? ? ? ? elif left.count('-') == 1 and left.startswith('-'): ?# 如果小數(shù)點(diǎn)左邊有-
? ? ? ? ? ? ? ? ? ? new_left = left.split('-')[-1] ?# 判斷去掉后的還是不是數(shù)字
? ? ? ? ? ? ? ? ? ? if new_left.isdigit(): ?# 是數(shù)字則返回True
? ? ? ? ? ? ? ? ? ? ? ? return 1
? ? ? ? else:
? ? ? ? ? ? return 2 ?# 返回2說明是字母

輸入例子:1.2,-1.2,.2,-2.

def is_float(i):
? ? if i.count('.') == 1:#先判斷里面有沒有小數(shù)點(diǎn)
? ? ? ? ? ? new_i = i.split('.')#去掉小數(shù)點(diǎn)
? ? ? ? ? ? right = new_i[-1]#將小數(shù)分為小數(shù)點(diǎn)右邊
? ? ? ? ? ? left = new_i[0]#小數(shù)點(diǎn)左邊
? ? ? ? ? ? if right.isdigit():#如果小數(shù)點(diǎn)右邊是數(shù)字判斷小數(shù)點(diǎn)左邊
? ? ? ? ? ? ? ? if left.isdigit():#如果小數(shù)點(diǎn)左邊沒有-直接返回
? ? ? ? ? ? ? ? ? ? return True
? ? ? ? ? ? ? ? elif left.count('-')== 1 and left.startswith('-'):#如果小數(shù)點(diǎn)左邊有-
? ? ? ? ? ? ? ? ? ? new_left = left.split('-')[-1]#判斷去掉后的還是不是數(shù)字
? ? ? ? ? ? ? ? ? ? if new_left.isdigit():#是數(shù)字則返回True
? ? ? ? ? ? ? ? ? ? ? ? return True
? ? else:
? ? ? ? return False

更簡單的判斷方法:

while ?True:
? ? num = input("請(qǐng)輸入一個(gè)數(shù)字:")
? ? try:
? ? ? ? n1=eval(num)
? ? except:
? ? ? ? print("輸入的不是數(shù)字程序結(jié)束")
? ? ? ? break
?
? ? if isinstance(n1,float):
? ? ? ? print('輸入的是小數(shù)請(qǐng)重新輸入:')
? ? ? ? continue
? ? else:
? ? ? ? print("輸入的是整數(shù)沒問題")

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python實(shí)現(xiàn)兩種多分類混淆矩陣

    Python實(shí)現(xiàn)兩種多分類混淆矩陣

    這篇文章主要為大家介紹了Python實(shí)現(xiàn)兩種多分類混淆矩陣,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • 利用Anaconda創(chuàng)建虛擬環(huán)境的全過程

    利用Anaconda創(chuàng)建虛擬環(huán)境的全過程

    因?yàn)槎啻沃匦屡渲铆h(huán)境,這些命令每次都要用,每次都忘記,需要重新搜索,所以記錄這一過程,下面這篇文章主要給大家介紹了關(guān)于利用Anaconda創(chuàng)建虛擬環(huán)境的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • python多進(jìn)程使用函數(shù)封裝實(shí)例

    python多進(jìn)程使用函數(shù)封裝實(shí)例

    這篇文章主要介紹了python多進(jìn)程使用函數(shù)封裝實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Django 創(chuàng)建/刪除用戶的示例代碼

    Django 創(chuàng)建/刪除用戶的示例代碼

    這篇文章主要介紹了Django 創(chuàng)建/刪除用戶的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Linux環(huán)境下GPU版本的pytorch安裝

    Linux環(huán)境下GPU版本的pytorch安裝

    使用默認(rèn)的源地址下載速度很慢,所以一般都是使用國內(nèi)源,今天花了點(diǎn)時(shí)間配置安裝,所以記錄一下,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • 用Python解析身份證號(hào)獲取年齡和性別的實(shí)現(xiàn)方法

    用Python解析身份證號(hào)獲取年齡和性別的實(shí)現(xiàn)方法

    身份證號(hào)碼包含了豐富的信息,包括生日和性別,Python提供了處理和解析身份證號(hào)的功能,讓我們能夠從中提取出相關(guān)的信息,本文將介紹如何利用Python解析身份證號(hào),獲取持有者的年齡和性別信息,感興趣的朋友可以參考下
    2023-12-12
  • django遷移文件migrations的實(shí)現(xiàn)

    django遷移文件migrations的實(shí)現(xiàn)

    這篇文章主要介紹了django遷移文件migrations的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Python 實(shí)現(xiàn)opencv所使用的圖片格式與 base64 轉(zhuǎn)換

    Python 實(shí)現(xiàn)opencv所使用的圖片格式與 base64 轉(zhuǎn)換

    今天小編就為大家分享一篇Python 實(shí)現(xiàn)opencv所使用的圖片格式與 base64 轉(zhuǎn)換,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • python基于multiprocessing的多進(jìn)程創(chuàng)建方法

    python基于multiprocessing的多進(jìn)程創(chuàng)建方法

    這篇文章主要介紹了python基于multiprocessing的多進(jìn)程創(chuàng)建方法,實(shí)例分析了multiprocessing模塊操作進(jìn)程的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • Python實(shí)現(xiàn)圖片尺寸縮放腳本

    Python實(shí)現(xiàn)圖片尺寸縮放腳本

    這篇文章主要為大家分享了Python實(shí)現(xiàn)圖片尺寸縮放的小腳本,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03

最新評(píng)論

汉寿县| 都江堰市| 洪雅县| 广宁县| 新沂市| 八宿县| 苏州市| 肥城市| 临武县| 洛隆县| 建阳市| 临澧县| 丹寨县| 仁布县| 顺平县| 岫岩| 保定市| 彩票| 固原市| 班戈县| 荣昌县| 内乡县| 长海县| 离岛区| 佛山市| 北安市| 屏边| 兴宁市| 阳高县| 神木县| 远安县| 土默特左旗| 崇礼县| 嵊州市| 普洱| 黄浦区| 遵义市| 工布江达县| 仁化县| 广汉市| 邵阳县|