возьмите символ и распечатайте его с символа «а» и поверните его вспять - PullRequest
0 голосов
/ 05 декабря 2010

этот код должен взять символ в качестве аргумента и распечатать этот символ в алфавитном порядке до 'a' и вернуться к символу.

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

это то, что Ii написал до сих пор, но это не правильный вывод

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

Ответы [ 2 ]

0 голосов
/ 05 декабря 2010
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
0 голосов
/ 05 декабря 2010

Ну, вы уже на полпути, как есть.Теперь вам просто нужно выяснить, как онеметь обратно к вашему письму.

Для того, чтобы оно пошло назад в алфавите, вы используете numb=numb-1.Итак, чтобы заставить его идти вперед в алфавите, что будет противоположностью этому?Затем вы можете поместить это в другой цикл впоследствии.

...