为什么元组拆包会显示‘not enough arguments for format string’?

最近在学习Python,元组拆包时显示‘not enough arguments for format string’,代码如下:
travler_ids = [('USA', '31195855'), ('BRA''CE342567'), ('ESP', 'XDA205856')]

for passport in travler_ids:
print('%s/%s' %passport)

控制台:
C:\thanatos\py366\python.exe E:/python1/流畅的python/元组和记录.py
USA/31195855
Traceback (most recent call last):
File "E:/python1/流畅的python/元组和记录.py", line 5, in
print('%s/%s' %passport)
TypeError: not enough arguments for format string

进程已结束,退出代码 1

3个回答

看图吧
图片说明

print('%s/%s' %passport)
你有两个 %s,但是只有一个passport参数

应该是
print('%s/%s' % (passport[0], passport[1]))

一个%s对应一个参数,多个参数后面跟一个元组,你的passport本身是一个元组,要进行取值

travler_ids = [('USA', '31195855'), ('BRA''CE342567'), ('ESP', 'XDA205856')]

for passport in travler_ids:
    print('%s/%s' % (passport[0], passport[1]))
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问