【发布时间】:2016-05-11 21:18:47
【问题描述】:
例如,我有一个可以添加字母和从列表中删除字母的程序。代码如下:
my_list = ['a', 'b', 'c', 'd', 'e', 'f']
do = input("Press 'a' to append and 'r' to remove: ")
if do == 'a':
letter = input("Enter a letter to append: ")
my_list.append(letter)
print (my_list)
elif do == 'r':
letter = input("Enter a letter to append: ")
my_list.remove(letter)
print (my_list)
else:
print ("Something gone wrong...")
要从列表中删除一封信,我必须告诉程序我要做什么,然后它会要求我删除一封信。有没有办法像这样调用我自己的函数(只是为了让程序更容易使用):
def removing(letter):
my_list.remove(letter)
print (my_list)
要像这样在控制台中使用该功能:
What are you going to do? removing(b)
【问题讨论】:
-
如果您使用的是
input()而不是raw_input(),无论如何都应该这样做。来自input()、input([prompt]) -> value Equivalent to eval(raw_input(prompt))的文档 -
您希望将自己的代码注入正在运行的程序中?是的,它可以完成,但出于安全原因,很少有程序会支持它。最好通过管道之类的方式传递数据。
-
@zondo:您假设 OP 使用的是 Python 2,但情况可能并非如此
-
@cdarke 啊,现在我明白为什么我到处都能看到这个了。在那种情况下,@Andrew,你可以这样做
eval(input("Enter a letter to append"))。
标签: python