【问题标题】:take a char and print out from char to 'a' and reverse it should be recursive取一个 char 并从 char 打印到 'a' 并反转它应该是递归的
【发布时间】:2026-01-12 14:30:01
【问题描述】:

此代码应将 char 作为参数并按字母顺序将该 char 打印为 'a' 并反转为 char。

>>> characters('d')
d c b a b c d

这是我到目前为止写的,但不是正确的输出

def characters(char):
    numb=ord(char)
    while numb>ord('a'):
>>      print chr(numb),
        numb=numb-1

    return


>>> characters('h')
g f e d c b a

【问题讨论】:

    标签: python recursion char


    【解决方案1】:
    def characters(c):
      print ' '.join(map(chr, range(ord(c), ord('a'), -1) + range(ord('a'), ord(c)+1)))
    
    >>> characters('d')
    d c b a b c d
    

    def characters(c):
      for n in xrange(ord(c), ord('a'), -1):
        print chr(n),
      for n in xrange(ord('a'), ord(c)+1):
       print chr(n),
      print
    

    【讨论】:

    • 您的输出与 OP 的不同。
    • 我不能使用像.join这样的内置函数
    • @user531225:为什么不能使用像 join 这样的内置函数?
    • @user531225 ord 和 chr 也是内置的。如果你不能使用内置函数,那你为什么在你的问题中使用它们?
    • 因为他们是唯一被允许的
    【解决方案2】:

    嗯,你已经完成了一半。现在你只需要弄清楚如何麻木地回到你的信中。

    为了使它在字母表中倒退,您使用numb=numb-1。所以为了让它在字母表中向前发展,与此相反的是什么?然后你可以把它放在另一个循环中。

    【讨论】:

      最近更新 更多