我做了一个简单的脚本来找到一个数字的平方根。用户输入一个数字,它会找到平方根并显示结果。我希望它检查输入是否为数字。如果它是一个数字,它将继续,否则它将显示一条消息并重置。
我尝试使用:
while num != int(x):
print "That is not a valid number"
return self.page()
但这只会显示一个错误。有人可以帮我解决这个问题吗?
这是代码:
import math
import sys
class SqRoot(object):
def __init__(self):
super(SqRoot, self).__init__()
self.page()
def page(self):
z = 'Enter a number to find its square root: '
num = int(raw_input(z))
sqroot = math.sqrt(num)
print 'The square root of \'%s\' is \'%s\'' % (num, sqroot)
choose = raw_input('To use again press Y, to quit Press N: ')
if choose == 'Y' or choose == 'y':
return self.page()
elif choose == 'N' or choose == 'n':
sys.exit(0)
print "SqRoot Finder v1.0"
print "Copyright(c) 2013 - Ahnaf Tahmid"
print "For non-commercial uses only."
print "--------------------------------"
def main():
app = SqRoot()
app()
if __name__ == '__main__':
main()