【问题标题】:printing each letter of a word + another letter - python打印一个单词的每个字母+另一个字母 - python
【发布时间】:2018-08-12 19:03:29
【问题描述】:

我正在做这个 python 问题,我必须从用户那里获取一个单词输入,然后将单词向后翻转并向后打印字母,每次添加一个字母。我已经做到了,所以我可以向后翻转这个词。我知道我可以使用

for c in word

声明,但我不确定如何制作,所以我可以每次都添加一个字母。

以下是说明和我的代码。

儿歌宾果是1780年的!

在歌曲中,每节都拼出“Bingo”这个名字,去掉一个字母 每次都取名字。

​ 什么时候 编写这个程序,你需要解决一些问题:

您需要一种方法来反转狗的名字。你需要一个循环来建立 狗的名字一个字母一个字母。每次你通过循环你 为颠倒的名称添加另一个字母。

一个例子:

名称:宾果游戏

og

ogn

奥格尼

奥尼布

而 ognib 是他们的名字-o

我的代码:

name = input("Name: ")
reversed_text = ''
last_index = len(name) - 1
for i in range(last_index, -1, -1):
  reversed_text += name[i]
print(reversed_text)

谢谢

【问题讨论】:

    标签: python


    【解决方案1】:

    您的回答非常中肯,您需要做的就是缩进最后一行,因此每次添加一个字母时它都会打印出reversed_text

    name = input("Name: ")
    reversed_text = ''
    last_index = len(name) - 1
    for i in range(last_index, -1, -1):
      reversed_text += name[i]
      print(reversed_text)
    

    【讨论】:

    • 基于问题,这是(恕我直言)正确答案(+1)。我想补充一点,您可以使用iterable property of a string in Python 来缩短它。将 for 循环替换为:for c in name[::-1]:[::-1] 反转字符串),下一行变为:reversed_text += c,您不再需要第三行。这使得代码更pythonic
    • @agtoever 我同意,这可能就是我会这样做的方式,但由于问题很简单,我不想混淆 OP。考虑到他们的答案是如此接近这一事实,进行微小的改变可能会更好。但是,是的,为了将来的目的,养成保持代码 Pythonic (+1) 的习惯可能是个好主意。
    【解决方案2】:

    Python 的反向列表切片可以在这里为您提供帮助。

    name = input()
    for i in range(2,len(name)+2):
        print(name[-1:-i:-1])
    

    输出:

    o
    og
    ogn
    ogni
    ogniB
    

    【讨论】:

      【解决方案3】:

      这是一种做你想做的事的方法。请注意,我更改了您反转字符串的方法——我的方法只使用了一行。你可以理解这里使用的切片方法,每次使用切片中的-1,将索引减1。

      部分名称的打印使用循环,每次迭代打印一个反向名称的片段。如果您有任何问题,请告诉我。

      name = input("Name: ")
      reversed_text = name[::-1]
      for i in range(1, len(name) + 1):
          print(reversed_text[:i])
      print('And', reversed_text, 'was their name-o')
      

      打印出来:

      o
      og
      ogn
      ogni
      ognib
      And ognib was their name-o
      

      【讨论】:

        【解决方案4】:

        我不确定我是否了解您的所有要求,但这可能对您有用:

        word = 'Bingo'
        drow = ''
        for c in reversed(word):
           drow += c
           print drow
        

        输出:

        o
        og
        ogn
        ogni
        ogniB
        

        【讨论】:

          猜你喜欢
          • 2015-04-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-12-21
          • 1970-01-01
          • 2021-06-21
          • 2022-08-23
          • 1970-01-01
          相关资源
          最近更新 更多