亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么用這個輸入字母可以可是輸入字母就直接報錯中斷了?

為什么用這個輸入字母可以可是輸入字母就直接報錯中斷了?

喵喔喔 2023-03-20 16:12:39
while True:ten=input('Enter a number:')if type(eval(ten))==type(int):break  
查看完整描述

2 回答

?
Helenr

TA貢獻1780條經驗 獲得超4個贊

具體解決辦法如下:

第一個方案:

1.復制代碼,如下,

while True:

ten=input("x:")

try:

x=eval(ten)

if type(x)==int:

break

except:

pass

2.然后輸入asf,沒有提示。輸入344就退出了

x:asf

x:344

第二個方案

1.復制代碼

while True:

ten=None

try:

ten=int(input("x:"))

except:

pass

if type(ten)==int:

break

這個在python3.0上調試通過

第三個方案:python2.x的方案

while True:

ten=raw_input("Enter a number:")

if ten.isdigit():

break

ten=int(ten)  #或者是ten=eval(ten)


查看完整回答
反對 回復 2023-03-22
?
猛跑小豬

TA貢獻1858條經驗 獲得超8個贊

首先你使用的input的函數,但是input函數必須接受的類型為數字你輸入非數字的字母會報錯。

其次如果你輸入了數字你這個程序也不會正常工作,ten的類型可能是float也可能是int 但是eval接受的參數類型必須是字符串,所以這句if也會出錯。

改為 if type(ten) is type(1):break

查看完整回答
反對 回復 2023-03-22
  • 2 回答
  • 0 關注
  • 124 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號