【问题标题】:Printing multiple input strings in reverse using a loop [duplicate]使用循环反向打印多个输入字符串[重复]
【发布时间】:2021-02-25 04:28:49
【问题描述】:

编写一个程序,将一行文本作为输入,并反向输出该行文本。程序重复,当用户输入“Quit”、“quit”或“q”作为文本行时结束。

Ex: If the input is:

Hello there

Hey

quit

then the output is:

ereht olleH

yeH

''' 我遇到了这个问题,我的老师根本无法很好地解释事情。我已经能够反向打印出一个输入,但我不确定如何打印出所有这些并用'q'、'quit'或'Quit'打破循环。请帮忙。

到目前为止我的代码:

mystring = str(input())

myreverse = ''

for i in mystring:
    myreverse= i+ myreverse
print(myreverse)

【问题讨论】:

  • print(i[::-1])?

标签: python string loops reverse python-3.8


【解决方案1】:

这样的循环是您想要实现的吗?

exit = False
while not exit:
  phrase = str(input("Type something (exit = q or quit): "))

  if phrase.lower() == 'q' or phrase.lower() == 'quit':
    exit = True
    break
  else:
    myreverse = ''

    for element in phrase:
        myreverse= element + myreverse

    print("Reversed = %s\n" % myreverse)

【讨论】:

    【解决方案2】:

    干得好。你非常亲近。如果老师不好,学习可能会很有挑战性,但只要有决心和努力,你一定会擅长 Python。继续努力。

    让我先帮助您修复您的代码,然后我会提出改进建议。

    while True:
        mystring = str(input())
        if mystring == 'Quit' or mystring == 'quit' or mystring == 'q':
            break
        myreverse = ''
        for i in mystring:
            myreverse= i+ myreverse
        print(myreverse)
    

    这是我为修复代码所做的工作:

    • 将现有代码放入 while True: 循环中,使其永远运行。
    • 添加一个 if 语句来检查 Quit、quit 和 q 输入。

    这是上面代码的改进版本:

    while True:
        my_string = str(input())
        if my_string in ['q', 'quit', 'Quit']:
            exit()
        print(my_string[::-1])
    

    以下是上述代码如何工作的解释:

    • while True 让程序永远运行
    • if 语句检查用户是否输入了 Quit、quit 或 q。
    • exit()关闭程序
    • my_string[::-1] 反转字符串。这样就无需使用 for 循环来反转字符串。

    【讨论】:

      猜你喜欢
      • 2014-02-17
      • 2020-05-22
      • 1970-01-01
      • 2021-08-26
      • 1970-01-01
      • 2018-09-08
      • 1970-01-01
      • 2011-05-18
      • 1970-01-01
      相关资源
      最近更新 更多