_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日

悬赏问题

  • ¥15 基于ucc28019的pfc电路中芯片一直不工作
  • ¥15 yolov8在3588板子端c++推理报错
  • ¥50 unitywebrequest分段下载导致报错,如何解决?
  • ¥15 错误使用 gretna_GUI_PreprocessInterface>RunBtn_Callback
  • ¥15 WPF如何用Chart绘画出Y轴的左边数据
  • ¥15 pycharm无法查看内置代码
  • ¥15 跑hls xfopencv的例程standalone_hls_axi_example出的错误,csim没问题,c synthesis出的错误
  • ¥15 sqlserver update语句逐行生效
  • ¥20 Windows10系统命令行调用
  • ¥15 php环境如何实现国密SM2相关功能