HJ33 单词倒排【python3】

该文章描述了一个编程问题,要求对输入的字符串中的所有单词进行倒序排列,同时保持单词内的字符顺序不变,单词间由单个空格分隔。非字母字符被视为单词间隔符,且会忽略。提供的代码实现了这一功能,通过替换非字母字符,分割字符串,然后逆序组合单词并输出。
摘要由CSDN通过智能技术生成

题目描述

对字符串中的所有单词进行倒排。
说明:
1、构成单词的字符只有26个大写或小写英文字母;
2、非构成单词的字符均视为单词间隔符;
3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;
4、每个单词最长20个字母;
数据范围:字符串长度满足 1 ≤ n ≤ 10000 1 \le n \le 10000 1n10000

输入描述

输入一行,表示用来倒排的句子

输出描述

输出句子的倒排结果

代码

def daopai(danci):
    str(danci)
    print(" ".join(danci.split()[::-1]))

s=input()
for x in s:
    if x.isalpha()==True:
        pass
    else:
        s=s.replace(x," ")
daopai(s)

代码解释

按题意和实例,倒排的只是单词顺序,单词内部不变.

  1. 非字母的部分用空格替代,结束替代操作后对字符串s进行分割,则得到单词的列表
  2. 用join函数把单词用空格连接起来,并逆序输出,完成倒排
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值