画幅 发表于 2023-8-22 16:59:43

想要了解为何r没有换行

i="Fishc"      
for a in i:
    print(a,end=' ')
print('r')   
结果是
F i s h c r
请求各位解答,非常感谢。

isdkz 发表于 2023-8-22 16:59:54

问题出在print('r')这一行代码上。在Python中,单引号或双引号用于定义字符串。而在这行代码中,'r'被视为字符串,而不是换行符。所以它会被直接打印出来,而不是实现换行的效果。

要实现换行的效果,可以使用转义字符\n。将print('r')改为print('\n')即可。代码如下:

i = "Fishc"
for a in i:
    print(a, end=' ')
print('\n')


这样就会在打印完字符串"Fishc"后,输出一个换行符,实现换行的效果。

学习编程中的Ben 发表于 2023-8-22 17:07:35

试一试把print('r')改成print('\r')
个人推荐使用\n
还有如果你想输出的结果为:
F
i
s
h
c
r
那么把代码改成
i="Fishc"      
for a in i:
    print(a,end=' ')
    print('r')

smallwh 发表于 2023-8-22 19:38:02

print() 输出之后默认换行,是因为 print() 的 end 参数默认值是 “\n” (换行符)。
这里的 print() 指定 end 参数为空格,所以在输出 FishC 中每一个字母后,都没有换行,而是添加了空格。
结果导致字母 c 的后面没有换行,字母 r 就会在同一行输出。
如果想将字母 r 换到下一行输出,可以手动在 r 前添加一个换行符:
i="Fishc"      
for a in i:
    print(a,end=' ')
print('\nr')   

琅琊王朝 发表于 2023-8-22 21:31:48

因为for循环最后一遍输出的末尾是空格,所以for循环之后的不会换行,要换的话在r前面加上转义符号和n,也就是\n

ba21 发表于 2023-8-22 22:35:17

本帖最后由 ba21 于 2023-8-22 22:38 编辑

差点没搞懂你的意思了


换行输出r
i="Fishc"      
for a in i:
    print(a,end=' ')


print('\nr')




换行输出r
i="Fishc"      
for a in i:
    print(a,end=' ')

print()
print('r')




就是想实现换行

i="Fishc"      
for a in i:
    print(a,end=' ')
print()



页: [1]
查看完整版本: 想要了解为何r没有换行