Python 让用户决定对数字列表应用什么操作
我最近学习了Python,并想知道如何才能做到以下几点。假设我们有一个包含3个数字的列表:Python 让用户决定对数字列表应用什么操作,python,Python,我最近学习了Python,并想知道如何才能做到以下几点。假设我们有一个包含3个数字的列表: x = [1, 2, 3] 然后,我们询问用户如何处理这些数字: whatdo = raw_input('> ') 例如,用户输入“+2”。现在,我如何将“+2”应用于列表中的所有元素?更通用的可能性是让用户指定一个函数,并使用Python语句将字符串转换为实际函数 import operator as oper operations = { '+': oper.add, '-
x = [1, 2, 3]
然后,我们询问用户如何处理这些数字:
whatdo = raw_input('> ')
例如,用户输入“+2”。现在,我如何将“+2”应用于列表中的所有元素?更通用的可能性是让用户指定一个函数,并使用Python语句将字符串转换为实际函数
import operator as oper
operations = {
'+': oper.add,
'-': oper.sub,
'*': oper.mul
}
numbers = [1, 2, 3]
op, num1 = raw_input("> ").split()
num1 = int(num1)
op = operations[op]
y = [op(num1, num2) for num2 in numbers]
print y
--output:--
> * 30
[30, 60, 90]
numbers = [1, 2, 3]
function = raw_input('> Please specify f(x): ')
f = eval("lambda x: " + function)
print map(f, numbers)
例如:
> Please specify f(x): (x+1)**2
[4, 9, 16]
当然,这允许用户指定各种无效甚至恶意的功能,因此应小心处理。@Alenta Urentio,看一看。标题是怎么回事?这与你的问题无关…