将 len() 与 python 中的字符串组合时出现意外 space
Unexpected space in outcome when combining len() to a string in python
这里是新的编程学生!
我不明白为什么这个代码 returns “troy aikman has won 3”而不是“troy aikman has won3”。 " has won" 之后没有 space 所以我假设它与 ", len()" 部分有关。我已将逗号切换为“+”,这给了我一个错误(正如我所想的那样)。我还没有找到任何说明 len() 自动添加 spaces 所以我得出结论,它必须是逗号与 len() 函数交互的方式,但对于如何或为什么?
my_dict={
"name":"troy aikman",
"position":"qb",
"team":"dalls cowboys",
"age": 54,
"weight": 220.,
"superbowls":["XXVII","XXVIII","XXX"],
"awards":{
"super_bowl_mvp":"XXVII",
"probowl":[1991,1992,1993,1994,1995,1996],
"man_of_the_year":1997
}
}
print(
my_dict['name'] + " has won", len(my_dict['superbowls'])
)
- 使用
f-string
比在字符串组合中使用 +
和 ,
更好。
例子
my_dict={
"name":"troy aikman",
"position":"qb",
"team":"dalls cowboys",
"age": 54,
"weight": 220.,
"superbowls":["XXVII","XXVIII","XXX"],
"awards":{
"super_bowl_mvp":"XXVII",
"probowl":[1991,1992,1993,1994,1995,1996],
"man_of_the_year":1997
}
}
print(f"{my_dict['name']} has won{len(my_dict['superbowls'])}")
结果
troy aikman has won3
您正在使用 print 语句打印两个以逗号分隔的不同值。所以默认情况下有一个 space
print(
my_dict['name'] + " has won", len(my_dict['superbowls'])
)
如果你想要troy aikman has won3
这个然后连接两个值(都必须是 str 形式)
print(
my_dict['name'] + " has won"+str(len(my_dict['superbowls'])
))
在 Python 中,print
函数打印每个指定的参数,由分隔符 sep 分隔。 sep 的默认值是 space.
您正在传递两个参数:
1:my_dict['name'] + " has won"
(计算结果为“特洛伊·艾克曼赢了”)
2:len(my_dict['superbowls'])
(计算结果为数字 3,其字符串表示形式为“3”)
所以打印的是第一个参数(“troy aikman has won”); sep 值(space);第二个参数(“3”):“特洛伊·艾克曼赢了 3”
这里是新的编程学生! 我不明白为什么这个代码 returns “troy aikman has won 3”而不是“troy aikman has won3”。 " has won" 之后没有 space 所以我假设它与 ", len()" 部分有关。我已将逗号切换为“+”,这给了我一个错误(正如我所想的那样)。我还没有找到任何说明 len() 自动添加 spaces 所以我得出结论,它必须是逗号与 len() 函数交互的方式,但对于如何或为什么?
my_dict={
"name":"troy aikman",
"position":"qb",
"team":"dalls cowboys",
"age": 54,
"weight": 220.,
"superbowls":["XXVII","XXVIII","XXX"],
"awards":{
"super_bowl_mvp":"XXVII",
"probowl":[1991,1992,1993,1994,1995,1996],
"man_of_the_year":1997
}
}
print(
my_dict['name'] + " has won", len(my_dict['superbowls'])
)
- 使用
f-string
比在字符串组合中使用+
和,
更好。
例子
my_dict={
"name":"troy aikman",
"position":"qb",
"team":"dalls cowboys",
"age": 54,
"weight": 220.,
"superbowls":["XXVII","XXVIII","XXX"],
"awards":{
"super_bowl_mvp":"XXVII",
"probowl":[1991,1992,1993,1994,1995,1996],
"man_of_the_year":1997
}
}
print(f"{my_dict['name']} has won{len(my_dict['superbowls'])}")
结果
troy aikman has won3
您正在使用 print 语句打印两个以逗号分隔的不同值。所以默认情况下有一个 space
print(
my_dict['name'] + " has won", len(my_dict['superbowls'])
)
如果你想要troy aikman has won3
这个然后连接两个值(都必须是 str 形式)
print(
my_dict['name'] + " has won"+str(len(my_dict['superbowls'])
))
在 Python 中,print
函数打印每个指定的参数,由分隔符 sep 分隔。 sep 的默认值是 space.
您正在传递两个参数:
1:my_dict['name'] + " has won"
(计算结果为“特洛伊·艾克曼赢了”)
2:len(my_dict['superbowls'])
(计算结果为数字 3,其字符串表示形式为“3”)
所以打印的是第一个参数(“troy aikman has won”); sep 值(space);第二个参数(“3”):“特洛伊·艾克曼赢了 3”