初学者在这里。 :)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'语句在循环中断之前运行一次。我编辑了答案来澄清这一点。 –