def myfun(x,y):
z=x+y
Print("my x is", x)
Print("my y is", y)
Print("my z is", z)
myfun(1,2)
myfun(3,4)
myfun(5,6)
myfun(x,y)
这是我想要做的事情的想法。第一个函数的3个调用是预先确定的,而在第4个调用中,我想提示用户输入,无论如何我可以用1个函数(不改变格式)来做这个,因为最终格式需要...
my x is 1
my y is 2
my z is 3
my x is 3
my y is 4
my z is 5
my x is 5
my y is 6
my z is 7
my x is (userinput)
my y is (userinput)
my z is ...
我能用一种功能正确地做到这一点吗?
答案 0 :(得分:2)
def myfun(x=0, y=0):
z = x + y
Print("My x is", x)
Print("My y is", y)
Print("My z is", z)
myfun(1,2)
myfun(3,4)
myfun(5,6)
# here you can make a input for x and y and then you type cast the string in int
x = int(raw_input('Input x: '))
y = int(raw_input('Input y: '))
myfun(x,y)
如果使用Python 3.x,请使用input()而不是raw_input()
x = int(input('Input x: '))
y = int(input('Input y: '))
myfun(x,y)
答案 1 :(得分:1)
使用普通值作为参数无法实现此目的,引用局部变量永远不会做任何额外的事情。但是,您可以接受提供值的函数。然后传递一个返回整数的函数而不是传递一个整数,而不是改变myfun
做I / O,你只需传递一个执行I / O的函数。
myfun(lambda: 5, lambda: 6)
# I'm gonna assume Python 3
myfun(input, input)
您需要稍微改写函数,因为您希望输入在精确的时间点发生。像这样:
def myfun(x_fun, y_fun):
print("my x is", end=" ")
x = x_fun()
print("my y is", end=" ")
y = y_fun()
z=x+y
print("my z is", z)
答案 2 :(得分:0)
在一行中:
#myfun(x,y)
myfun(input("What is value of x? "),input("What is value of y? "))