我是Python的新手。这是我的问题:
import sys
def main():
print "option 1) check updates 2) rewrite index 3) ..."
option = raw_input()
print "\nthe option: is: " + option
switch_option(option)
def switch_option (option):
return {
1:
# print "option is 1",
1,
2: 2
}.get(option, 0)
if __name__ == '__main__':
main()
该程序运行正常,但是如果我取消注释<print "option is 1"
,则会收到错误消息。
我收到此错误:
SyntaxError:语法无效。
我想念什么?我尝试添加<,>
和<;>
。
问题:
答案 0 :(得分:1)
我不确定您为什么要在字典中放入打印语句
您可以在退货前打印
def switch_option (option):
print "option is %r" ‰ option
return {
1: 1,
2: 2
}.get(option, 0)
那么您将需要获得结果
o = switch_option(option)
是的,python支持多个返回值
答案 1 :(得分:1)
简短的答案是,您不能以提议的方式在表达式内使用print
语句。您必须回答某些语言可以回答的问题,例如“何时对其进行评估”,而Python则不能。
话虽如此,尤其是如果您是Python的新手,但熟悉其他功能语言,则可以创建一个以值作为函数的字典。这是重铸示例的方法:
#!/usr/bin/env python3
def main():
print("option 1) check updates 2) rewrite index 3) ...")
option = input().strip()
print("the option: is: " + option)
switch_option(option)
def switch_option (option):
options = {
'1': option_one,
'2': lambda: 2
}
f = options[option]
result = f()
print("the result is: " + str(result))
def option_one():
print("option is 1")
return 1
if __name__ == '__main__':
main()