Re: 判斷raw_input輸出資料範圍的問題
※ 引述《KSJ (阿真)》之銘言:
: try:
: : guessed_num = int(raw_input());
: except ValueError:
: print "Maybe some error, Please Input a number between 1 and 10."
: return
: 用例外(exception)的方式處理 蠻鼓勵的
: 題外話 raw_input()裡面是可以加字的 也可以把提示輸入的文字放裡面
: 就不用換行了
: 但其實你要用 if 也可以如下
: if guessed_num not in [1,2,3,4,5,6,7,8,9,10]:
: print u"錯誤的訊息" #之類的文字…
: return
: 反正也才10個 ok的
感謝您
我後來改成以下的方式:
def get_input():
try:
data = int(raw_input())
except ValueError:
print "Wrong input, input again!!"
get_input()
else:
global guessed_num
guessed_num = data
print "guessed_num in get_input= %s" % guessed_num
第一時間沒想到try except是因為以前寫C的時候都被教導那是很耗資源的方式
這個方式可以解決
還有我試了用if guessed_num not in [1,2,3,4,5,6,7,8,9,10]:
這樣子不管我輸入甚麼都判定為錯誤的輸入
應該是因為字串與數值是不同的型態
正確的應該是
def get_input():
data = raw_input()
print "data = %s" %(data)
if data in ['1','2','3','4','5','6','7','8','9','10']:
return int(data)
else:
print "Wrong input, input again!!"
get_input()
感謝您的意見
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.248.152.1
推
02/21 13:18, , 1F
02/21 13:18, 1F
→
02/21 13:48, , 2F
02/21 13:48, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
Python 近期熱門文章
PTT數位生活區 即時熱門文章