Gab*_*sar 2 variables arguments input raw-input python-3.x
我正在尝试用 python 3 编写一个简单的程序进行练习。我想要做的是绘制一个以用户input()
为参数的函数。我曾尝试将 存储input()
在一个变量中,但是每次我尝试处理变量时,都会调用自身请求input()
,因此它不存储任何内容。我也尝试过这样的事情:
def function(input('give me a '), input('give me b ')):
# do stuff with the inputs
Run Code Online (Sandbox Code Playgroud)
但它在括号中给出了语法错误。
关于如何设置函数以使用用户input()
作为参数的任何想法?
这取决于您要尝试做什么。您很可能希望将用户输入传递给函数调用而不是定义:
def function(a, b):
print(a, b)
a = input('give me a ')
b = input('give me b ')
function(a, b)
Run Code Online (Sandbox Code Playgroud)
但是,如果您想将给定的用户输入作为默认参数传递给函数,您可以这样做:
def function(a=input('give me a '), b=input('give me b ')):
print(a, b)
function() # prints whatever the user inputted when the file was initially run
Run Code Online (Sandbox Code Playgroud)
您的代码引发异常的原因()
是函数定义中的内容(与函数调用相反,即function()
)是参数的名称,而不是传递给函数的参数。input()
仅当您将其指定为与参数名称相关联的默认值时,您才能在函数签名的这一部分中使用,就像我上面所做的那样。不过,第二个用例看起来很奇怪,每次function()
调用它都会传递与用户最初输入的默认值相同的参数。即使这是您想要做的,您也应该这样做:
input_a = input('give me a ')
input_b = input('give me b ')
def function(a=input_a, b=input_b:
print(a, b)
function()
Run Code Online (Sandbox Code Playgroud)
或者,如果您想在每次调用该函数时都获得不同的输入对(现在我想这实际上似乎最有可能):
def function():
a = input('give me a ')
b = input('give me b ')
print(a, b)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
20754 次 |
最近记录: |