_Phoebe__ 2022-03-13 01:13 采纳率: 96.9%
浏览 41
已结题

python逆序打印字符串问题有一点疑问

写一个程序,将英语句子中的单词颠倒过来(标点保留原位置)。
Input: I like Beijing. I am student, I am girl.
Output: Beijing like I. girl am I, student am I.
问题在代码中标注了 谢谢大家


str1=input()
str1=str1.replace(","," ")
str1=str1.replace("."," ")
str1=str1.split(" ")
str1.reverse()
for i in range(len(str1)):
    print(str[i],end=" ")#逐个反向打印 报错了而且我不知道怎么保存原来的标点位置
print("\n")
  • 写回答

3条回答 默认 最新

  • π¢ 2022-03-13 11:22
    关注

    你这个出错的是第八行str应该是想写str1,要实现目标功能的话参考如下:

    txt = input("输入英文句子")
    posterior = txt #未逆序部分
    result = '' #先建立最后输出的字符串
    for chr in txt: #遍历输入
      if chr in ',.': #遇到标点符号
        index = posterior.index(chr) #检索该标点符号在未逆序部分的索引
        forepart = posterior[:index] #切片获取该标点符号之前的内容进行逆序,注意这里不包含标点符号
        forepart = forepart.split()
        forepart.reverse()
        revcontent= " ".join(forepart) + chr #看上一条注释,所以这里要加上标点符号
        result += revcontent
        posterior = posterior[index+1:] #切片获取该标点符号后面的内容作为未逆序部分
    print(result)
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月21日
  • 已采纳回答 3月13日
  • 创建了问题 3月13日

悬赏问题

  • ¥30 Matlab打开默认名称带有/的光谱数据
  • ¥50 easyExcel模板 动态单元格合并列
  • ¥15 res.rows如何取值使用
  • ¥15 在odoo17开发环境中,怎么实现库存管理系统,或独立模块设计与AGV小车对接?开发方面应如何设计和开发?请详细解释MES或WMS在与AGV小车对接时需完成的设计和开发
  • ¥15 CSP算法实现EEG特征提取,哪一步错了?
  • ¥15 游戏盾如何溯源服务器真实ip?需要30个字。后面的字是凑数的
  • ¥15 vue3前端取消收藏的不会引用collectId
  • ¥15 delphi7 HMAC_SHA256方式加密
  • ¥15 关于#qt#的问题:我想实现qcustomplot完成坐标轴
  • ¥15 下列c语言代码为何输出了多余的空格