def printsection1(animals, station1, station2):
animals=['a01', 'a02', 'a03', 'a04', 'a05']
station1={'a04': 5, 'a05': 1, 'a03': 6, 'a01': 2}
station2={'a04': 5, 'a02': 3, 'a03': 4, 'a01': 1}
print('Number of times each animal visited each station :')
print('Animal Id'+' '*11+'Station 1'+' '*11+'Station 2'+' ')
#preparing animal station1 and station2
for name in animals:
if name in station1:
visit=str(station1.get(name))
else:
visit=0
if name in station2:
visit2=str(station2.get(name))
else:
visit2=0
space=str((20-len(visit))*' ')
print(name+' '*17+str(visit)+space+str(visit2))
print('='*60)
实际输出,我得到的输出:
Animal Id Station 1 Station 2
a01 2 1
错误:
builtins.TypeError: object of type 'int' has no len()
通缉输出:
Number of times each animal visited each station :
Animal Id Station 1 Station 2
a01 2 1
a02 0 3
a03 6 4
a04 5 5
a05 1 0
============================================================
嘿伙计们我正在做这个程序,但我现在陷入困境。我正在尝试打印动物ID和两个站。这三个站都是20个字符长,但由于某种原因我一直收到这个错误。
希望你们能帮忙:)
感谢
答案 0 :(得分:2)
如果您转到visit=0
访问将是一个整数,然后您无法space=str((20-len(visit))*' ')
,您可以尝试撰写visit='0'
答案 1 :(得分:1)
visit=0
行给你了。未定义整数的长度,因此稍后代码中的len(visit)
会给您一个错误。您似乎在代码中较早的时候将visit
设置为字符串,因此使用visit="0"
应该可以正常工作。