Python 输出引号的问题

请教一下各位,我怎么做才能使python中输入和输出里的引号(单引或双引)保持一致
题目里的是def reflect_statement(.....),
随后测试中有的是reflect_statement('...')格式,
对应要求输出也为'......'格式
有的是reflect_statement("....")格式,
要求输出结果也为“....”格式
就差这一步了,但怎么调试都没用,结果一直就fail在这上面

不可以这么搞的,在python中双引号和单引号在此环境中都是声明这是一个字符串用的:

a='aaaa'
b="aaaa"
id(a)==id(b)

如果一定要达到输出即输入的效果,不该在.py文件中定义function参数,而应该通过标准输入/输出流:stdin/stdout来给参数赋值,e.g:

def reflect_statement(param):
print param
reflect_statement(raw_input("please input: "))

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-04-09
print "".....""是错误的
print "\"....\"" 打印的结果是“....”
可以用转义符,呵呵追问

我理解如何输出结果成“...”的格式,但是我不知道如何让系统自动识别变量中是双引号还是单引号,决定输出是单引号还双引号,因为我现在不管怎么输出要么全是双引号要么就全是单引号

追答

这个系统貌似没那么智能吧,这样你做个判断:对你输入的内容做验证:输入的字符串首位first和末尾end做比较,if first==end=="\"":那么结果输出时用双引号,elif first==end=="\'":那么结果输出时用单引号,else:print '异常输入.'。
如果要系统支持自动识别的话 可能你要找大牛来解决这个问题了

第2个回答  2013-04-10
context = """
this is a full block text,
which include "some string",
and 'some other string'.
"""
第3个回答  2013-04-10
不是有个repr嘛,就是原样输出
相似回答