Python 不接受函数变量
Python not accepting function variable
每当我 运行 代码时,python 都会出现错误消息:
回溯(最后一次调用):
文件“/Users/jim/Desktop/Python/TextWindow.py”,第 7 行,在模块中
阅读(姓名)
NameError: 名称 'name' 未定义
def Writeline(string):
print(string)
def Read(name):
name = input()
Read(name)
Writeline(name)
我假设您希望 Read
读取一个字符串,然后将其传递给 Writeline
。在这种情况下,Read
必须 return 一个值。 Python 字符串是不可变的,因此您必须 return 您读取的字符串才能在函数外访问它:
def Writeline(string):
print(string)
def Read():
return input()
name = Read()
Writeline(name)
编辑
请记住,input()
在 Pythons 2 和 3 中做了不同的事情。在 Python 3 中,它做了你想要的事情。 In Python 2 raw_input()
是读入输入的函数。 input()
将尝试将您键入的任何内容评估为一行 Python 代码。
首先,查看@Erica 作为评论提供的 link。
这里有些地方出了问题。
- 您实际上还没有在可以使用的范围内定义变量 "name"。
- 您正在将名称传递给函数 Read(),而您可能不想传递任何开头的变量。
- 我想你想要 raw_input(),而不是 input()(这只适用于 python 2.x,因为我没有看到 3.x 标签)
您需要做的是将变量 "name" 赋值给 Read() 函数的 return。
如以下:
def WriteLine(s):
print(s)
def Read():
r = raw_input()
return r
name = Read()
WriteLine(name)
每当我 运行 代码时,python 都会出现错误消息:
回溯(最后一次调用): 文件“/Users/jim/Desktop/Python/TextWindow.py”,第 7 行,在模块中 阅读(姓名)
NameError: 名称 'name' 未定义
def Writeline(string):
print(string)
def Read(name):
name = input()
Read(name)
Writeline(name)
我假设您希望 Read
读取一个字符串,然后将其传递给 Writeline
。在这种情况下,Read
必须 return 一个值。 Python 字符串是不可变的,因此您必须 return 您读取的字符串才能在函数外访问它:
def Writeline(string):
print(string)
def Read():
return input()
name = Read()
Writeline(name)
编辑
请记住,input()
在 Pythons 2 和 3 中做了不同的事情。在 Python 3 中,它做了你想要的事情。 In Python 2 raw_input()
是读入输入的函数。 input()
将尝试将您键入的任何内容评估为一行 Python 代码。
首先,查看@Erica 作为评论提供的 link。
这里有些地方出了问题。
- 您实际上还没有在可以使用的范围内定义变量 "name"。
- 您正在将名称传递给函数 Read(),而您可能不想传递任何开头的变量。
- 我想你想要 raw_input(),而不是 input()(这只适用于 python 2.x,因为我没有看到 3.x 标签)
您需要做的是将变量 "name" 赋值给 Read() 函数的 return。
如以下:
def WriteLine(s):
print(s)
def Read():
r = raw_input()
return r
name = Read()
WriteLine(name)