Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
здравствуйте
0 / 3 / 0
Регистрация: 17.04.2021
Сообщений: 121

Почему не возвращает несколько значений? Как пофиксить?

16.02.2022, 16:09. Показов 866. Ответов 9

Студворк — интернет-сервис помощи студентам
Вот такой вот код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
def alphabet_position(text):
    alphabet = { 
 'a': 1,
 'b': 2,
 'c': 3,
 'd': 4,
 'e': 5,
 'f': 6,
 'g': 7,
 'h': 8,
 'i': 9,
 'j': 10,
 'k': 11,
 'l': 12,
 'm': 13,
 'n': 14,
 'o': 15,
 'p': 16,
 'q': 17,
 'r': 18,
 's': 19,
 't': 20,
 'u': 21,
 'v': 22,
 'w': 23,       
 'x': 24,
 'y': 25,
 'z': 26
    }
    for x in text:
        if x.lower() in alphabet.keys():
            return alphabet[x.lower()]
Подскажите, что я сделал не так. Возвращает только первое значение.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.02.2022, 16:09
Ответы с готовыми решениями:

Почему курсор возвращает как бы несколько таблиц?
Вот мой курсор. И почему-то вместо одной полноценной таблицы, он возвращает будто несколько таблиц, многие из которых пустые. Как мне...

_getch() возвращает несколько значений, как от этого избавится?
Пишу консольную игру на С++. Назначил перемещение по полю на клавиши стрелок, и столкнулся с проблемой что _getch() возвращает несколько...

Функция, которая возвращает несколько значений
как "забрать" у функции несколько значений? допустим: int func( int x, int y) { x+=5; y+=3; } return (x,y)

9
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
16.02.2022, 16:10
krokoboy, если что, функция по определению возвращает одно значение. Нужно всю кучу - сложи их в список и его верни
0
здравствуйте
0 / 3 / 0
Регистрация: 17.04.2021
Сообщений: 121
16.02.2022, 16:12  [ТС]
знаю!!1 (помогите в список собрать, пожалуйста)
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
16.02.2022, 16:15
Цитата Сообщение от krokoboy Посмотреть сообщение
for x in text:
if x.lower() in alphabet.keys():
return alphabet[x.lower()]
Python
1
return [alphabet[y] for x in text if (y := x.lower()) in alphabet]
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
16.02.2022, 16:15
Python
1
return [alphabet[x.lower()] for x in text if x.lower() in alphabet.keys()]
1
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,707
16.02.2022, 16:30
Python
1
2
3
4
5
def get_alphabet_positions(text):
    return [ ord(let.lower()) - ord('a') + 1 for let in text ]
#==============================================================================
text = 'AAAAAAAAAabcdefghijklmnopqrstuvxyzzzzzzzzzzz'
print( get_alphabet_positions(text) )
1
здравствуйте
0 / 3 / 0
Регистрация: 17.04.2021
Сообщений: 121
16.02.2022, 16:40  [ТС]
Как можно избавится от квадратных скобочек и запятых? Только с помощью .replace?
0
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,707
16.02.2022, 16:50
Цитата Сообщение от krokoboy Посмотреть сообщение
Как можно избавится от квадратных скобочек и запятых?
Python
1
2
3
4
5
def get_alphabet_positions(text):
    return [ ord(let.lower()) - ord('a') + 1 for let in text ]
#==============================================================================
text = 'AAAAAAAAAabcdefghijklmnopqrstuvxyzzzzzzzzzzz'
print( *get_alphabet_positions(text) )
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
16.02.2022, 17:29
Цитата Сообщение от krokoboy Посмотреть сообщение
Как можно избавится от квадратных скобочек и запятых?
От них не надо избавляться. Это литерал списка, который выводится в таком виде для удобного восприятия человеком.
Если он тебе не нужен - выведи значения через цикл.
Или - как упрощенный вариант - через распаковку итерируемого объекта (или генератора) звездочкой в print.

Цитата Сообщение от krokoboy Посмотреть сообщение
Возвращает только первое значение.
Оператор return немедленно завершает функцию.
Вместо него можно использовать yield для превращения функции в генератор, который будет возвращать значения по одному.

Python
1
2
3
4
5
6
7
8
9
10
11
>>> import string
>>> alphabet = {t[0]: t[1] for t in zip(string.ascii_lowercase,range(1,27))}
>>> def alphabet_position(text):
    for x in text:
        if x in alphabet:
            yield alphabet[x]
 
            
>>> print(*alphabet_position("qwert123".lower()))
17 23 5 18 20
>>>
1
здравствуйте
0 / 3 / 0
Регистрация: 17.04.2021
Сообщений: 121
16.02.2022, 17:30  [ТС]
спасибо!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.02.2022, 17:30
Помогаю со студенческими работами здесь

Почему выдаёт ошибку и как её пофиксить?
Всех приветствую! Попытался сделать скрипт вступателя в чаты. Использовал telethon.В один чат всё вступает без проблем, но если ввести 2 и...

Подпрограмма возвращает несколько значений, нет ли подвоха?
Мне надо получать отдельно имя файла и путь к нему, передавая формирователю пути и имени файла некоторые данные. Делаю так (и всегда так...

Update, когда Select возвращает несколько значений
Здравствуйте. Подскажите пожалуйста как сделать Update, когда Select возвращает несколько значений. UPDATE GOODS SET PRICE = PRICE*2 ...

Почему на выходе так получается ? Как пофиксить ?
Есть функиця для пересохранения изображения, с целью потом его редактировать. function reSaveImage($filename ) { ...

Почему в сигнал приходит None? Как это пофиксить?
Эта тема связана с предыдущей - https://www.cyberforum.ru/python-django/thread2418125.html, но всё же проблема отличается. Поэтому решил...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru