我试图学习在Python(3.6.5)中使用这个简单的生日单行,但是我得到了SyntaxError:语法无效,有人可以帮我弄清楚我出错的地方:
print map(lambda x: "Happy Birthday to " + ("you" if x != 2 else "dear Name"),range(4))
Run Code Online (Sandbox Code Playgroud)
谢谢!
你已将其标记为python 3.x. 这是python 2.x代码.你需要
print(list(map(lambda x: "Happy Birthday to " + ("you" if x != 2 else "dear Name"),
range(4))))
Run Code Online (Sandbox Code Playgroud)
既然print是一个函数,而不是在Python 3中的声明也map返回了list在Python 2,但现在返回一个迭代器需要被包裹在list以打印值.
这也是略显旧式的python,这是一种现代的写作方式
print(["happy birthday to {}".format('you' if x != 2 else 'dear name') for x in range(4)])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
314 次 |
| 最近记录: |