Python ValueError:不支持的格式字符(';)';(0x29)在索引21处

Python ValueError:不支持的格式字符(';)';(0x29)在索引21处,python,Python,我从你那里得到了密码 运行代码时,出现以下错误: 2015-06-18 12:51:47073-调试-程序启动 回溯(最近一次呼叫最后一次): 文件“/home/raqeeb.alam/PycharmProjects/E_mail/sub_links.py”,第14行,在 印刷阶乘(5) 文件“/home/raqeeb.alam/PycharmProjects/E_mail/sub_links.py”,第6行,阶乘形式 logging.debug('阶乘的开始(%)'%(n)) ValueErr

我从你那里得到了密码

运行代码时,出现以下错误:

2015-06-18 12:51:47073-调试-程序启动 回溯(最近一次呼叫最后一次): 文件“/home/raqeeb.alam/PycharmProjects/E_mail/sub_links.py”,第14行,在 印刷阶乘(5) 文件“/home/raqeeb.alam/PycharmProjects/E_mail/sub_links.py”,第6行,阶乘形式 logging.debug('阶乘的开始(%)'%(n)) ValueError:索引21处不支持的格式字符“')”(0x29)

对于这些线路:

print (factorial(5))
logging.debug('End of program')
应该是:

logging.debug('Start of factorial(%s)' % (n))
...
logging.debug('End of factorial(%s)' % (n))
顺便说一句:括号在这里是多余的。可以简单地说:

logging.debug('Start of factorial(%s)' % n)
...
logging.debug('End of factorial(%s)' % n)

'%(asctime)s(levelname)s-%(message)s'
应该是
'%(asctime)s%(levelname)s-%(message)s'
您缺少一个
%
符号:

logging.basicConfig(level=logging.DEBUG, format=' %(asctime)s%(levelname)s- %(message)s')
#                                                            ^ HERE
这两条线应该是

logging.debug('Start of factorial(%s)' % (n))
logging.debug('End of factorial(%s)' % (n))

除了下面关于使python正确的答案之外,您还需要将
range(n+1)
更改为
range(1,n+1)
以获得非零答案。实际上,在记录时最好不要直接进行字符串替换:因此应该是
logging.debug('Start of factorial(%s)),n)
-这样,只有根据有效级别实际记录消息时,才会执行操作。
logging.debug('Start of factorial( %)' % (n))
logging.debug('End of factorial( %)' % (n))
logging.debug('Start of factorial(%s)' % (n))
logging.debug('End of factorial(%s)' % (n))