我剛剛學習python,想知道是否有更好的方法來編寫代碼,而不是在while循環中使用try/except和if/else。這是從學習編碼困難的方式,我試圖給用戶3次機會輸入一個數字,在第三次使用死亡函數退出的機會。 (該評論是爲了我自己)Python while/try/if循環
def gold_room():
print "this room is full of gold. How much do you take?"
chance = 0 #how many chances they have to type a number
while True: #keep running
next = raw_input("> ")
try:
how_much = int(next) #try to convert input to number
break #if works break out of loop and skip to **
except: #if doesn't work then
if chance < 2: #if first, or second time let them try again
chance += 1
print "Better type a number..."
else: #otherwise quit
dead("Man, learn to type a number.")
if how_much < 50: #**
print "Nice, you're not greedy, you win!"
exit(0)
else:
dead("You greedy bastard!")
def dead(why):
print why, "Good bye!"
exit(0)
假設代碼有效,對於http://codereview.stackexchange.com,這是一個更好的問題。 – 2013-03-27 23:21:41
在程序中使用exit()是不好的做法。例如,這意味着如果不關閉較大的程序,就不能將代碼嵌入到較大的程序中。而不是退出,從你的方法返回。 – Patashu 2013-03-27 23:42:49