網(wǎng)站首頁 編程語言 正文
在pyhton中,經(jīng)常會用到input()語句,但是input()語句輸入的內(nèi)容只能時字符串類型,而我們經(jīng)常要輸入int類型的數(shù)據(jù)等,那么就需要用到int()方法給輸入的內(nèi)容強制轉(zhuǎn)換為int類型:
a = int(input())
但是這樣就會有一個問題,一旦我輸入的不是數(shù)字,而是字母、標點等,這樣就會報錯,因為字母燈是不能轉(zhuǎn)成int類型的,所以我們就要判斷一下,輸入的內(nèi)容為什么:
str = input()
if str.isdigit() :
a = int(str)
這樣就可以判斷輸入的是不是數(shù)字,還是字母、符號等
方法:
str.isdigit()為True表示輸入的所有字符都是數(shù)字
str.isalnum()為True表示輸入的所有字符都是數(shù)字或者字母
str.isalpha()為True表示輸入的所有字符都是字母
str.isdigit()為True表示輸入的所有字符都是數(shù)字
str.islower()為True表示輸入的所有字符都是小寫
str.isupper()為True表示輸入的所有字符都是大寫
str.istitle()為True表示輸入的所有單詞都是首字母大寫,像標題
str.isspace()為True表示輸入的所有字符都是空白字符、\t、\n、\r
更新一下:
注意,用isdigit()來判斷小數(shù),比如3.14就會返回FALSE。
isdigit()只是判斷輸入的是不是純數(shù)字,不是判斷你輸入的是不是一個數(shù),這個方法只是判斷你輸入的是什么字符,并不是判斷你輸入的是什么類型,因為無論如何,輸入的值都為字符串類型,小數(shù)中有小數(shù)點,當然會返回FALSE了。
如何判斷輸入是不是小數(shù),首先判斷輸入有沒有小數(shù)點,幾個小數(shù)點,小數(shù)點的位置、再按照小數(shù)點進行切片,切為兩片,判斷每一片是否都為純數(shù)字
下面是一個類型轉(zhuǎn)換的方法,將輸入的字符串轉(zhuǎn)換為int或float類型的數(shù)據(jù):
# 將字符串轉(zhuǎn)為int或float類型
def change_type(str):
# 先判斷輸入是不是字符串類型,是的話就繼續(xù),不是的話就將輸入返回
if type(str) == type("123"):
# 判斷輸入是不是純數(shù)字
if str.isdigit() :
# 將輸入轉(zhuǎn)為int類型并返回
result = int(str)
print(result,"是整數(shù) 類型是",type(result))
return result
else :
# 判斷字符串中是否只有一個小數(shù)點、小數(shù)點是不是不在字符串的開始或結(jié)尾
if str.count(".")==1 and not str.startswith(".") and not str.endswith("."):
# 將字符串按小數(shù)點切為兩片,整數(shù)部分與小數(shù)部分
# 整數(shù)部分
left = str.split('.')[0]
# 小數(shù)部分
right = str.split('.')[1]
# 判斷切片的部分是不是純數(shù)字
if left.isdigit() & right.isdigit():
# 將輸入轉(zhuǎn)為float類型并返回
result = float(str)
print(result,"是小數(shù) 類型是",type(result))
return result
else:
# 返回字符串
print("輸入的變量不是字符串類型")
result = str
return result
原文鏈接:https://blog.csdn.net/m0_55034727/article/details/121563466
相關(guān)推薦
- 2022-10-04 goland?-sync/atomic原子操作小結(jié)_Golang
- 2022-08-04 淺析.net?core?拋異常對性能影響_實用技巧
- 2021-12-18 C++?STL容器詳解之紅黑樹部分模擬實現(xiàn)_C 語言
- 2022-09-20 RecyclerView實現(xiàn)側(cè)滑和網(wǎng)絡斷點續(xù)傳_Android
- 2022-06-07 python字符串的一些常見實用操作_python
- 2022-10-25 laravel-admin對表單的radio屬性無法進行rule(‘required‘)驗證
- 2022-06-12 基于Docker搭建iServer集群_docker
- 2022-07-13 CMD使用技巧和常用固定語句
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支