我是python的初学者,我正在玩lambda函数.
我正在编写一个程序,使用lambda函数来打印1个输入字符的ascii值的字符.我的代码是
#!/usr/bin/python
import sys
try:
word = sys.argv[1]
except:
print "No arguments passed"
sys.exit(1)
def convert_ascii(char):
return "".join(chr(ord(char) + 1))
for i in word:
print convert_ascii(i)
print lambda x: chr(ord(i) + 1)
我有一个函数convert_ascii,它与lambda做同样的事情.但是,我的输出是
/usr/bin/python2.7 /home/user1/PycharmProjects/test/Tut1/asciipl2.py "abc def ghi"
b
最佳答案
你没有调用这个函数.这跟你写的一样
print convert_ascii而不是print convert_ascii(i).
print convert_ascii而不是print convert_ascii(i).
尝试
print (lambda x: chr(ord(x) + 1))(i)
请注意,我在函数体中更改了ord(i)到ord(x).
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。