Как вывести алфавит в python
Скачай курс
в приложении
Перейти в приложение
Открыть мобильную версию сайта
© 2013 — 2024. Stepik
Наши условия использования и конфиденциальности
Public user contributions licensed under cc-wiki license with attribution required
Проход по алфавиту Python
Можно ли как-то инкрементировать символ латинского алфавита? Нужно пройтись по алфавиту в Python, либо по числу получать какой-то определенный символ, есть такие функции?
Отслеживать
задан 11 сен 2016 в 17:47
2,798 1 1 золотой знак 16 16 серебряных знаков 32 32 бронзовых знака
сам новенький в питоне, но если нет то пишется ж просто a=tuple(‘abcdef. xyz’) вместо точек вставить все буквы алфавита и получите то, что вам надо.
11 сен 2016 в 18:06
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Получение символа по его номеру из Unicode:
>>> chr(65) 'A' >>> chr(122) 'z' >>> print(chr(128522))
(в Python 2 лучше вместо chr использовать unichr )
Получение номера из Unicode по символу:
>>> ord('A') 65 >>> ord('z') 122 >>> ord('') 128522
Заранее заготовленные строки с латинскими (и не только) символами есть в модуле string :
>>> import string >>> string.ascii_uppercase 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' >>> string.ascii_lowercase 'abcdefghijklmnopqrstuvwxyz' >>> string.ascii_letters 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
По этим строкам можно проходиться циклом:
for c in string.ascii_letters: print(c)
Во всяких генераторных выражениях и условиях, разумеется, тоже:
>>> import string >>> s = 'fooУБРАТЬbarОТСЮДАbazНЕЛАТИНСКОЕ' >>> s2 = ''.join(c for c in s if c in string.ascii_letters) >>> print(s2) foobarbaz
Как вывести алфавит в python
И не только. Т.о. можно получить строку нужных символов.
Строку можно сделать и свою.
2. Строку преобразуем в список и перемешиваем список
import random mystr = ' ' lst = list(mystr) nlist = random.shuffle(lst)
После перемешивания можно выводить символы до конца списка, а можно перемешивать всякий раз, перед выбором символа, . Тут полная фантазия.
Форумчанин
Регистрация: 17.06.2012
Сообщений: 953
Python выводит 10 случайных символов благодаря chr()
import random N=10 c=0 while c
или проще 1 строка
import random; print(chr(random.randrange(65,91)))
помню задумывалась тема про заполнение массивов случайными
и алгоритмы есть на нескольких ЯП
Последний раз редактировалось сфинкс; 06.08.2022 в 13:19 .
Форумчанин
Регистрация: 04.11.2016
Сообщений: 355
Сообщение от ViktorR
1. В Python есть модуль string. В этом модуле есть готовые наборы символов, например:
import string whitespace = ' \t\n\r\v\f' ascii_lowercase = 'abcdefghijklmnopqrstuvwxyz' ascii_uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
И не только. Т.о. можно получить строку нужных символов.
Строку можно сделать и свою.
2. Строку преобразуем в список и перемешиваем список
import random mystr = ' ' lst = list(mystr) nlist = random.shuffle(lst)
После перемешивания можно выводить символы до конца списка, а можно перемешивать всякий раз, перед выбором символа, . Тут полная фантазия.
код проверил. Но код выводит пустоту
мой блог :patreon.com/hopkins1988 . facebook группы:"программирование на Андроид","
"Программирование чистый код"
Lektorfuja |
Посмотреть профиль |
Найти ещё сообщения от Lektorfuja |
От A до Z
Напишите функцию, которая будет принимать строку — диапазон букв английского алфавита. Функция должна возвращать строку из всех букв этого диапазона. Если в диапазоне заданы заглавные буквы, в результирующей строке тоже должны быть заглавные.
Примечания
- Диапазон будет задаваться двумя буквами с дефисом между ними.
- Обрабатывать ошибки не нужно (при указании диапазона обе буквы будут в одинаковом регистре и располагаться будут в алфавитном порядке).
Примеры
gimme_the_letters("a-z") ➞ "abcdefghijklmnopqrstuvwxyz" gimme_the_letters("h-o") ➞ "hijklmno" gimme_the_letters("Q-Z") ➞ "QRSTUVWXYZ" gimme_the_letters("J-J") ➞ "J"
Варианты решений
def gimme_the_letters(sp): return "".join(chr(n) for n in range(ord(sp[0]),ord(sp[-1])+1))
def gimme_the_letters(spectrum): a = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' x, y = spectrum.split('-') return a[a.index(x):a.index(y) + 1]
def gimme_the_letters(spectrum): start, end = [ord(i) for i in spectrum.split('-')] return ''.join(chr(i) for i in range(start, end+1))