如何使用for循环打印字符串且不显示空格?
问题根源
你这段代码的问题出在两个地方:
sep=''完全没用——sep是用来分隔print里多个参数的,比如print('a','b',sep='')会输出ab,但你每次只传一个字符i,这个参数根本发挥不了作用。print默认打完一个内容就换行,所以每个字符单独占一行,看起来就像到处是空格。
解决办法
分两种情况给你方案:
1. 保留原字符串的空格,只是让所有字符连起来打印(不换行)
把print的end参数改成空字符串就行,它控制每次打印完的结尾字符,默认是换行符,改成空就不会换行了:
N = input() for i in N: print(i, end='')
输入My dog is blue的话,输出就是My dog is blue(无换行)。
2. 去掉原字符串里的空格,再连起来打印
如果是想把空格删掉,有两种简单方式:
方式一:直接处理字符串后打印
N = input() print(N.replace(' ', ''))
方式二:循环时跳过空格
N = input() for i in N: if i != ' ': print(i, end='')
这两种方式输入My dog is blue,都会输出Mydogisblue。
额外说明
sep参数得是print里传多个值的时候才有用,比如print('hello', 'world', sep='_')会输出hello_world,别再用错地方啦。
内容的提问来源于stack exchange,提问作者ChioStar
相关产品推荐
相关产品推荐

