我是编程新手,我正在寻求一些建议。我要写的程序需要用户提供几个数字。 如果每个用户输入一个数值或不想输入一个数值,就用它来测试。如果输入的不是数字,我希望函数在输入一个数字之前一直要求输入一个数字。如果我想把每个变量都显式地声明为一个全局变量的话,我想把它们都显式地声明为一个全局变量。我不确定有没有更好的方法。。。在
rowNum = None
def numTest(c, d):
x = False
while x is not True:
try:
c = raw_input(d)
c = float(c)
x = True
except:
print "The value you entered isn't a valid number, please try again."
global rowNum
rowNum = c
numTest(rowNum, "Enter number of rows: ")
print rowNum
# I want to use the numTest function on several variables...
# e.g.
# numTest(contourLevel, "Enter number of contour levels: ")
# numTest(cellSize, "Enter cell size: ")
# numTest(labelSize, "Enter label size: ")
我没有足够的代表,所以我不能评论,但是: @沙克, 将return看作是一种内部print语句(您看不到返回的内容,但是Python解释器可以读取和使用/store/operate该值) print语句在屏幕上显示输出(对于人类),但对程序的计算/运行没有任何影响;return语句将输出发送到python解释器(针对程序),尽管屏幕上没有显示供人类阅读的内容。在
例如,如果函数返回字符串,则可以通过声明以下内容将输出存储为变量: 变量1=函数1(args)
它将把function1返回的字符串(基于参数的输入)存储为variable1。在
这对于组织代码非常有用,意味着您不必摆弄全局变量。在
需要注意的一点是,一旦函数返回一个值,就不会执行其他代码。在
例如:
break和else语句是多余的,因为在函数执行return语句之后,不会执行其他代码。更好的方法是:
^{pr2}$我希望我没有把你弄糊涂,因为我的回答有点偏离正题,只是想帮助你,因为我是新来的,当我学会这些话题时,发现这种解释很有用
只需使它成为一个函数,它可以返回某个值,而不是操纵全局,更易于维护!在
而不是你提到的
numTest(cellSize, "Enter cell size: ")
, 你应该做cellSize = get_num("Enter cell size: ")
。最好是返回值。在对于
^{pr2}$int
和float
,可以将此函数设为更通用的函数,如下所示:现在您还可以:
相关问题 更多 >
编程相关推荐