list中的数据
numbers = list(range(1,10))print(numbers)
for number in numbers:
if number == 1:
print(str(number)+'st')
else:
print(str(number)+"nd")
我想请问一下在我这个代码中,numbers这个list里的数据类型是int么?为什么不能直接print出number,非要把number转化为字符串才能print呢?
谢谢 整型和字符串不能直接相加
可以用f字符串实现
numbers = list(range(1,10))
print(numbers)
for number in numbers:
if number == 1:
print(f'{number}st')
else:
print(f"{number}nd")
因为 只有字符串和字符串才能进行拼接,如: '1' + 'st'。
如果改成 1+ 'st',就会报错。TypeError: unsupported operand type(s) for +: 'int' and 'str'。
如果不想转换,可以格式化输出:
print(f'{number}st') 1、numbers这个list里的数据类型是int,你可以用这个验证
for number in numbers:
print(type(number))
if number == 1:
2、因为正是int,在print()函数中无法实现拼接功能,只能转换成str,也有另一种写法
numbers = list(range(1, 10))
print(numbers)
for number in numbers:
# print(type(number))
if number == 1:
print(number, 'st', sep="")
else:
print(number, "nd", sep="")
大马强 发表于 2021-10-11 10:42
1、numbers这个list里的数据类型是int,你可以用这个验证
2、因为正是int,在print()函数中无法实现拼接 ...
不加sep=“”
输出就会是这样 1 st
加了使其连起来 可以直接打印 number,但不能和字符串相加,比如:
整型加字符串:13 + "banana"(报错)
整型+整型:13 + 17 (可以)
字符串+字符串:"13" + "banana"(可以) 谢谢大家 看谁还是py是弱语言?
页:
[1]