传递变量作为参数可怜python?

时间:2014-09-28 01:37:10

标签: python arguments

我正在编写打印机计算器程序。我想拍一张"父表#34;把它分成"运行表"然后进入完成表。父,运行和完成的大小由用户输入。

稍后还会添加其他变量,如装订线和纸纹,但是现在我只想用矩形划分矩形。这是我的第一次破解:

import math

def run_number(p_width, p_height, r_width, r_height):
    numb_across = p_width/r_width
    numb_up = p_height/r_height

    run_numb = numb_up * numb_across

    print math.trunc(run_numb)

def print_number(f_width, f_height, r_width, r_height):
    numb_across = r_width/f_width
    numb_up = r_height/f_height

    finish_numb = numb_up * numb_across

    print math.trunc(finish_numb)

#Parent size
p_width = input("Parent Width: ")
p_height = input("Parent Height: ")
#Run size
r_width = input("Run Width: ")
r_height = input("Run Height: ")
#finish size
f_width = input("Finish Width: ")
f_height = input("Finish Height: ")

run_number(p_width, p_height, r_width, r_height)

print_number(f_width, f_height, r_width, r_height)

我是否正确使用了这些论据?创建变量,将这些变量作为参数传递,然后使用这些参数值似乎是错误的。但是,我怎么能这样做呢?

输入调用在函数之外,但我使用相同的变量名(p_width,p_height等),因为我在函数内使用。我不认为这会破坏这个计划,但我不能相信这是一个好习惯。

2 个答案:

答案 0 :(得分:0)

将变量作为参数传递给函数是完全可以的! (我不认为还有另一种方式)

如果您不想节省空间,可以使用输入,而不是像这样使用额外的变量:

而不是:

a = input("A: ")
b = input("B: ")
someFunction(a,b)

您可以使用:

someFunction(input("A: "),input("B: "))

答案 1 :(得分:0)

我认为它比使用全局变量更好。您的方法变得更加通用,并且与上下文无关。