|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 jcpython2 于 2022-10-8 23:51 编辑
输入多空格字符串,过滤多余空格,只留下一个空格
输入
输出
解题法应该是有很多方法的,但请先指出我的代码的错误,因为我只学到字符串处理阶段
我的代码,打什么输出什么
思路是在循环中用j=0 或者 j=1判断前面是否有过空格
- a = list(input())
- b = ''
- j = 0
- #j =0 则本次循环未曾检测到空格,输出一个空格。j=1则已经输出过空格,跳过。输出过非空格元素后重置j
- for i in a:
- if i.isspace() == True and j == 0: #如果i为空格 且上衣循环未为空(j =0),j == 1表示已经输出过一次空格
- b += i
- j == 1
- elif i.isspace() == True and j == 1: #i为空格 j=1则已经输出过空格,跳过合并
- pass
- else: #不为空格,直接合并,并且重置j==0,后续可加空格
- b += i
- j == 0
- print(b)
复制代码
- a = list(input())
- b = ''
- j = 0
- #j =0 则本次循环未曾检测到空格,输出一个空格。j=1则已经输出过空格,跳过。输出过非空格元素后重置j
- for i in a:
- if i.isspace() == True and j == 0: #如果i为空格 且上衣循环未为空(j =0),j == 1表示已经输出过一次空格
- b += i
- j = 1 # 谁告诉你赋值用==的
- elif i.isspace() == True and j == 1: #i为空格 j=1则已经输出过空格,跳过合并
- pass
- else: #不为空格,直接合并,并且重置j==0,后续可加空格
- b += i
- j = 0 # 谁告诉你赋值用==的
- print(b)
复制代码
|
|