Как вывести алфавит в python
Перейти к содержимому

Как вывести алфавит в python

  • автор:

Как вывести алфавит в python

Скачай курс
в приложении

Перейти в приложение
Открыть мобильную версию сайта

© 2013 — 2024. Stepik

Наши условия использования и конфиденциальности

Get it on Google Play

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))

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *