網站首頁 編程語言 正文
在pyhton中,經常會用到input()語句,但是input()語句輸入的內容只能時字符串類型,而我們經常要輸入int類型的數據等,那么就需要用到int()方法給輸入的內容強制轉換為int類型:
a = int(input())
但是這樣就會有一個問題,一旦我輸入的不是數字,而是字母、標點等,這樣就會報錯,因為字母燈是不能轉成int類型的,所以我們就要判斷一下,輸入的內容為什么:
str = input()
if str.isdigit() :
a = int(str)
這樣就可以判斷輸入的是不是數字,還是字母、符號等
方法:
str.isdigit()為True表示輸入的所有字符都是數字
str.isalnum()為True表示輸入的所有字符都是數字或者字母
str.isalpha()為True表示輸入的所有字符都是字母
str.isdigit()為True表示輸入的所有字符都是數字
str.islower()為True表示輸入的所有字符都是小寫
str.isupper()為True表示輸入的所有字符都是大寫
str.istitle()為True表示輸入的所有單詞都是首字母大寫,像標題
str.isspace()為True表示輸入的所有字符都是空白字符、\t、\n、\r
更新一下:
注意,用isdigit()來判斷小數,比如3.14就會返回FALSE。
isdigit()只是判斷輸入的是不是純數字,不是判斷你輸入的是不是一個數,這個方法只是判斷你輸入的是什么字符,并不是判斷你輸入的是什么類型,因為無論如何,輸入的值都為字符串類型,小數中有小數點,當然會返回FALSE了。
如何判斷輸入是不是小數,首先判斷輸入有沒有小數點,幾個小數點,小數點的位置、再按照小數點進行切片,切為兩片,判斷每一片是否都為純數字
下面是一個類型轉換的方法,將輸入的字符串轉換為int或float類型的數據:
# 將字符串轉為int或float類型
def change_type(str):
# 先判斷輸入是不是字符串類型,是的話就繼續,不是的話就將輸入返回
if type(str) == type("123"):
# 判斷輸入是不是純數字
if str.isdigit() :
# 將輸入轉為int類型并返回
result = int(str)
print(result,"是整數 類型是",type(result))
return result
else :
# 判斷字符串中是否只有一個小數點、小數點是不是不在字符串的開始或結尾
if str.count(".")==1 and not str.startswith(".") and not str.endswith("."):
# 將字符串按小數點切為兩片,整數部分與小數部分
# 整數部分
left = str.split('.')[0]
# 小數部分
right = str.split('.')[1]
# 判斷切片的部分是不是純數字
if left.isdigit() & right.isdigit():
# 將輸入轉為float類型并返回
result = float(str)
print(result,"是小數 類型是",type(result))
return result
else:
# 返回字符串
print("輸入的變量不是字符串類型")
result = str
return result
原文鏈接:https://blog.csdn.net/m0_55034727/article/details/121563466
相關推薦
- 2022-10-10 C++私有繼承與EBO深入分析講解_C 語言
- 2022-07-26 css媒體查詢
- 2023-10-16 nginx啟動與配置
- 2022-07-23 C#線程間通信的異步機制_C#教程
- 2022-07-25 Android實現Tab切換界面功能詳解_Android
- 2023-03-28 Python使用機器學習模型實現溫度預測詳解_python
- 2022-08-23 C++深入探究友元使用_C 語言
- 2022-04-03 在Python中如何優雅地創建表格的實現_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支