我无法在终端中执行python。
我的文件名为ex18.py
,我正在使用python 3.7。
要运行我的功能,请在终端上编写以下内容:
$ python3.7 ex18.py
这是我的代码的样子:
def print_two(*args):
arg1, arg2 = args
print(f"arg1: {arg1}, arg2: {arg2}")
def print_two_again(arg1, arg2):
print(f"arg1: {arg1}, arg2: {arg2}")
def print_one(arg1):
print(f"arg1: {arg1}")
def print_none():
print("I got nothing.")
print_two("Zed", "Shaw")
print_two_again("Zed","Shaw")
print_one("First!")
print_none()
我希望在终端上运行它时看到以下内容:
arg1: Zed, arg2: Shaw
arg1: Zed, arg2: Shaw
arg1: First!
I got nothing.
答案 0 :(得分:3)
最后四行缩进,因此它们与print("I got nothing.")
行属于同一块,即它们位于print_none()
函数内部。
提醒一下,python中的缩进是语法的一部分,表示代码块(但是空行只是空行)。
要使代码正常工作,只需取消缩进这些行。
答案 1 :(得分:1)
在python中,您可以定义函数,这些函数一旦被调用即为代码段。最后四行似乎调用了较早定义的函数,但是当前它们是缩进的,这意味着它将作为缩进的代码块的一部分运行(因此,这些行是print_none
函数的一部分)。
对于计算机,这意味着您已定义了四个功能,但尚未调用其中任何一个。结果,计算机将不会运行任何功能。尝试使用以下代码来运行上述功能。请注意最后四行的缩进。
def print_two(*args):
arg1, arg2 = args
print(f"arg1: {arg1}, arg2: {arg2}")
def print_two_again(arg1, arg2):
print(f"arg1: {arg1}, arg2: {arg2}")
def print_one(arg1):
print(f"arg1: {arg1}")
def print_none():
print("I got nothing.")
print_two("Zed", "Shaw")
print_two_again("Zed","Shaw")
print_one("First!")
print_none()