我正在尝试编写一个简单的函数来从python中的用户输入中获取char,但不断收到以下错误:
Traceback (most recent call last):
File "C:/Users/chris/Desktop/Python_Stuff/replace.py", line 4, in <module>
new= old.replace("*","")
NameError: name 'old' is not defined
这是我的代码:
def remove_char(old):
old =input("enter a word that includes * ")
return old #do I even need this?
new= old.replace("*","")
print (new)
提前感谢您的帮助!
答案 0 :(得分:1)
您的函数的返回值。请不要忽视它。
def remove_char(old):
old =input("enter a word that includes * ")
return old
new= remove_char(old).replace("*","")
print (new)
是的,您可能不需要return
:
old=None
def remove_char():
global old
old =input("enter a word that includes * ")
remove_char() # NOTE: you MUST call this first!
new= old.replace("*","")
print (new)
注意:我同意@jonrsharpe - 第二个例子显示了实现你想要的最丑陋的方法之一!你问你是否可以省略return
- 是的,但你最好不要。
答案 1 :(得分:0)
您不能在旧变量中使用方法,因为您之前从未定义此变量。 ( old 在函数中定义并且可见,而不是在外部)。 你真的不需要输入单词的函数。 试试这个:
old = raw_input('enter a word that includes * ')
new= old.replace("*","")
print (new)