初學者在這裏。 :)2代碼工作,第三個不
所以我想實現的是這樣的:
用戶輸入一個數字。它吐出了數字的^ 3。如果用戶輸入一個字母,它會打印出錯誤信息。
代碼#1的偉大工程:
def thirdpower():
try:
number = int(raw_input("Enter a number : "))
n=number**3
print "%d to the 3rd power is %d" % (number,n)
except ValueError:
print "You must enter an integer, please try again."
thirdpower()
thirdpower()
但我想嘗試用while
語句做同樣的事情,因爲我想用它來練習。我知道這樣更詳細些,但我認爲這是一個很好的做法。
number=raw_input("Please Enter an integer")
while number.isalpha():
print "You have entered letter. Please try again"
number=raw_input("Please Enter an integer")
n=int(number)**3
print "%d to the 3rd power is %d" %(int(number), n)
我的問題是這樣的。如果我刪除while
聲明中的number=raw_input("Please Enter an integer")
並將其替換爲break
,則代碼不起作用。
這裏是我的意思是:
number=raw_input("Please Enter an integer")
while number.isalpha():
print "You have entered letter. Please try again"
break #This break here ruins everything :(
n=int(number)**3
print "%d to the 3rd power is %d" %(int(number), n)
任何人都可以解釋,爲什麼?
如果是這樣的話,應該不是至少打印出'您輸入字母。請再試一次'然後終止? – dyao
@ user3386440你說得對,'print'語句在循環中斷之前運行一次。我編輯了答案來澄清這一點。 –