python input和int_[發問] Python3 如何在input輸入str和int?

我嘗試過只使用input(), 但輸入選項1,2,3的時候, 它不認為輸入的是數字, 而是當作字符串。

看到這個描述我的第一個感覺是你應該是初學Python,學習Python一段時間的人應該都能理解,input()不管你在裡面輸入的是 中文 英文 日文 阿拉伯數字 甚至火星文,輸進去的東西都會變成"字串",你的問題應該問作"如果輸入字串裡面包含了非數字字元時,用int()字串會報錯,要如何處理...之類的",底下舉個例,參考星空大的建議用re.search判斷字串內容是否為純數字("0"~"9"),若是則int(input_val),若否則為"Not Number"。

import re

print((lambda x:int(x) if re.search("^[0-9]+$",x)!=None else "Not Number!")(input("Option: 1)Display 2)Add 3)Exit\n ")))

個人不太建議一開始學習就用上面的這種寫法,單行做很多事很酷沒錯,但是也很容易誤導新手,解決同樣的問題用結構化程式的寫法如下提供您參考:

import re

choice=input("Option: 1)Display 2)Add 3)Exit\n ")

if re.search("^[0-9]+$",choice)!=None:

choice=int(choice)

else:

choice="Not Number!"

print(choice)

結構化程式寫法的優點就是看一眼就知道它在做啥。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值