Python中的运算符的⼀切运算结果都是浮点数
letters1 = ['天','前','我','最','是','⼈','间','留','不','住','去','⽇','台']
def print_center(letters):
length = len(letters)
html里的float是什么意思n = (length - 7) / 2
print(letters[n:n+7])
print_center(letters1)
# 报错:TypeError: list indices must be integers or slices, not float
#(类型错误:列表分⽚必须⽤数字,⽽不是浮点数)
你可能会奇怪,列表长度是 13,(13-7)/2 的结果是 3,不会出现⼩数的结果啊?
但实际上,Python 中的/运算符的⼀切运算结果都是浮点数。所以,(13 - 7) / 2结果是3.0,⽽不是3。这样,letters1[n:n+7]就相当于letters1[3.0:3.0+7],于是就报错了。
应该改为:
n =int( (length - 7) / 2)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论