Python 打印值的脚本

Python 打印值的脚本,python,python-2.7,dictionary,Python,Python 2.7,Dictionary,我正在尝试制作一个脚本,它将接受用户输入并打印值,具体来说,将函数作为原始输入,并在输入时打印字典中的键。我试过几种方法让它工作,但我似乎无法让它下来。在过去的几天里,我在论坛上问了几个问题,只是想重申一下,我现在4岁了。谁能给我一个指针吗 #dictionary of categories and their items functions = { 'Absolute Value':{ 'abs': 'syntax: abs(number), use:The abs function is u

我正在尝试制作一个脚本,它将接受用户输入并打印值,具体来说,将函数作为原始输入,并在输入时打印字典中的键。我试过几种方法让它工作,但我似乎无法让它下来。在过去的几天里,我在论坛上问了几个问题,只是想重申一下,我现在4岁了。谁能给我一个指针吗

#dictionary of categories and their items
functions = {
'Absolute Value':{
'abs': 'syntax: abs(number), use:The abs function is used to determine the absolute  value 
}
'Round':{
'ro':'syntax: round(number), use: The round function is used to round a number down.'
}

#ask user for input as to which function they want
fnct=raw_input('Choose a function: abs, ro:')

#if a user chooses a function, map it to this key
if fnct=='abs':key='abs'
if fnct=='ro' :key='ro'

#if a user chooses a function, use the mapped key to print the key value
if fnct=='abs':print 'abs'
if fnct=='ro':print 'ro'

提前感谢

更新了您的代码,这应该完全符合您的要求(假设您希望根据用户输入打印字典元素的内容):


因此,第一行定义了
函数
字典,而
fnct=None
定义了该变量,这样我们就不会在while循环的第一次迭代中遇到错误(因为还没有调用
input
),循环检查输入的值是否确实存在于字典中(并循环询问另一个不存在的值,以便在试图显示字典中不存在的内容时不会遇到
keyrorm
)最后,它显示了对应于<代码> fnCT值的内容。

这里有什么问题?还有,在第4行中,你缺少了一个关闭<代码> <代码>。你能考虑更新你的问题的标题来反映你所遇到的实际问题吗?“一个打印值的脚本”它非常模糊,几乎可以描述所有输出任何内容的程序。我尝试了代码,它成功地提示选择,但是在选择时出现了某种错误,脚本没有打印任何内容就退出了,我想这是因为Python2.x
input()中的print(函数[fnct]),而fnct=None
将用户键入的内容计算为python代码,而
raw\u input()
仅将其视为字符串。在python 3中,没有python-2-input等价物,
input()
只扮演
raw\u input()的角色
。这并不是说你现在真的需要为这些担心太多。@andre ha,我是andres….但无论如何,是的,它是有效的,非常感谢,我仍在书的开头部分,但我需要一些有用的东西来理解python,以保持cogs工作,再次感谢。我不知道为什么我没有理解它,已经运行int了哦,这个问题有一次
functions = {
    "abs":"syntax: abs(number), use:The abs function is used to determine the absolute value",
    "ro":"syntax: round(number), use: The round function is used to round a number down"
}

fnct = None

while fnct not in functions:
    fnct = raw_input("Choose a function: abs, ro :")

print(functions[fnct])