Python: как напечатать диапазон a-z?


1. Печать: a b c d e f g h i j k l m n

2. Каждую секунду в a-n: а С Е Г и к м

3. Добавить a-n к индексу URL-адресов{hello.com/, hej.com/..., hallo.com/}: hello.com/a hej.com/b ... hallo.com/n

13 64

13 ответов:

>>> import string
>>> string.ascii_lowercase[:14]
'abcdefghijklmn'
>>> string.ascii_lowercase[:14:2]
'acegikm'

чтобы сделать URL-адреса, вы можете использовать что-то вроде этого

[i + j for i, j in zip(list_of_urls, string.ascii_lowercase[:14])]

предполагая, что это домашнее задание ; -) - нет необходимости вызывать библиотеки и т. д.-Вероятно, вы ожидаете, что вы будете использовать range () с chr/ord, например:

for i in range(ord('a'), ord('n')+1):
    print chr(i),

в остальном, просто играть немного больше с диапазоном ()

подсказки:

import string
print string.ascii_lowercase

и

for i in xrange(0, 10, 2):
    print i

и

"hello{0}, world!".format('z')
for one in range(97,110):
    print chr(one)

получить список с нужными значениями

small_letters = map(chr, range(ord('a'), ord('z')+1))
big_letters = map(chr, range(ord('A'), ord('Z')+1))
digits = map(chr, range(ord('0'), ord('9')+1))

или

import string
string.letters
string.uppercase
string.digits

это решение использует таблица ASCII. ord получает значение ascii от символа и chr наоборот.

применить то, что вы знаете о списках

>>> small_letters = map(chr, range(ord('a'), ord('z')+1))

>>> an = small_letters[0:(ord('n')-ord('a')+1)]
>>> print(" ".join(an))
a b c d e f g h i j k l m n

>>> print(" ".join(small_letters[0::2]))
a c e g i k m o q s u w y

>>> s = small_letters[0:(ord('n')-ord('a')+1):2]
>>> print(" ".join(s))
a c e g i k m

>>> urls = ["hello.com/", "hej.com/", "hallo.com/"]
>>> print([x + y for x, y in zip(urls, an)])
['hello.com/a', 'hej.com/b', 'hallo.com/c']
import string
print list(string.ascii_lowercase)
# ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
#1)
print " ".join(map(chr, range(ord('a'),ord('n')+1)))

#2)
print " ".join(map(chr, range(ord('a'),ord('n')+1,2)))

#3)
urls = ["hello.com/", "hej.com/", "hallo.com/"]
an = map(chr, range(ord('a'),ord('n')+1))
print [ x + y for x,y in zip(urls, an)]

ответ на этот вопрос прост, просто составьте список под названием ABC вот так:

ABC = ['abcdefghijklmnopqrstuvwxyz']

и всякий раз, когда вам нужно обратиться к нему, просто сделайте:

print ABC[0:9] #prints abcdefghij
print ABC       #prints abcdefghijklmnopqrstuvwxyz
for x in range(0,25):
    if x % 2 == 0:
        print ABC[x] #prints acegikmoqsuwy (all odd numbered letters)

также попробуйте это, чтобы сломать устройство ur: D

##Try this and call it AlphabetSoup.py:

ABC = ['abcdefghijklmnopqrstuvwxyz']


try:
    while True:
        for a in ABC:
            for b in ABC:
                for c in ABC:
                    for d in ABC:
                        for e in ABC:
                            for f in ABC:
                                print a, b, c, d, e, f, '    ',
except KeyboardInterrupt:
    pass

Это ваш 2-й вопрос: string.lowercase[ord('a')-97:ord('n')-97:2], потому что 97==ord('a') -- Если вы хотите узнать немного, вы должны выяснить, остальное себе ;-)

list(string.ascii_lowercase)

['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']

попробуй:

strng = ""
for i in range(97,123):
    strng = strng + chr(i)
print(strng)
import string
print list(string.ascii_lowercase)
# ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']

и

for c in list(string.ascii_lowercase)[:5]:
    ...operation with the first 5 characters

о gnibbler по.

Zip-функция,полное описание возвращает a list of tuples, where the i-th tuple contains the i-th element from each of the argument sequences or iterables.[...] строительство называется понимание, очень полезная функция!