我是学习python的新手,我只有有限的编程经验,所以我很抱歉提出这样一个基本问题。我正在进行一个在线python教程,并希望将该程序比所要求的课程更进一步,以测试我能走多远。问题是我一直在遇到障碍。在这里阅读了一堆帖子后,我已经移动了一些东西,更改了变量名,使用了更多的函数,更少的函数,if else语句,以及玩弄/麻烦,但是收到了各种各样的错误。我将要粘贴到目前位于下方的位置,非常感谢有人在那里帮助我完成该计划。
以下是我希望该计划的内容:
这是我在哪里:
n1 = raw_input('Please enter your desired number:')
def n2():
n2 = n1.isnumeric()
return n2
def square(n2):
squared = n2**2
print "%d squared is %d." % (n2, squared)
return squared
square(n2)
答案 0 :(得分:1)
n2 = raw_input("number pls\n")
while not n2.isdigit():
print("why did you do this\n")
n2 = raw_input("number pls\n")
print int(n2)**2
代码中的问题: 你需要一个控制结构,在正确的事情发生之前,它会反复尝试做某事。这应该让你思考" while loop。"
isnumeric不是一种方法。但你有正确的想法。
命名所有变量和函数n2不是一个很容易看到正在发生的事情的好方法..
如果你想为浮点数添加一个构造,你应该写一个函数,它接受一个字符串并返回true或false,如果它看起来像一个浮点数!这是使用函数分解您正在使用的问题的一个很好的示例 - 您知道您需要执行类似
的操作 while not (n2.isdigit or isFloat(n2)):
在这里和其他地方有一些关于如何做到这一点的好建议:)
答案 1 :(得分:0)
您可以检查是否可以转换为float
如果是这样打印正方形,则打印错误。要在获得数字时重复此过程,您可以使用while
循环
def number_validator( numb ):
try:
float( numb )
return True
except Exception:
print "GIven input is not a valid number"
return False
def square( n2 ):
n2=float( n2 )
squared = n2**2
print "%s squared is %s." % ( n2 , squared )
return squared
n2 = raw_input( 'Please enter your desired number:' )
while not number_validator( n2 ):
n2 = raw_input( 'Please enter your desired number:' )
square( n2 )
<强>输出:强>
Please enter your desired number:wq
GIven input is not a valid number
Please enter your desired number:we
GIven input is not a valid number
Please enter your desired number:21.0
21.0 squared is 441.0.