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

Не могу вернуть значение из функции

07.02.2020, 11:56. Показов 2345. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Код :
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
def setup_profile(name, vacation_dates):  # задаём информацию про работника
    return name, vacation_dates
 
 
def print_application_for_leave():  # заявление на отпуск
    return 'Заявление на отпуск в период', vacation_dates + '.', name
 
 
def print_holiday_money_claim(amount):  # заявление на выплату отпускных
    return 'Прошу выплатить', amount, 'отпускных денег.', name
 
def print_attorney_letter(to_whom):  # и доверенность на передачу своих служебных полномочий заместителю
    return 'На время отпуска в период', vaccation_dates, 'моим заместителем назначается', to_whom + '.', name
Я вроде вернул значение из функции setup_profile, и хочу эти значения использовать в других, но не понимаю, что не так (не могу использовать эти значения использовать)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.02.2020, 11:56
Ответы с готовыми решениями:

Не могу вернуть значение функции char
using namespace std; #include <iostream> #include<cstring> char prep(char prep) { int i,r; char string; for (int...

Не могу вернуть значение двумерного массива из функции
Не могу вернуть значение двумерного массива из функции. По условию нужно найти индексы всех максимальных по модулю элементов матрицы,...

Что не так делаю? Вернуть значение не могу никак из функции
вот код $(document).ready(function(e) { function hasGetUserMedia() { return !!(navigator.getUserMedia...

17
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
07.02.2020, 12:12
А в чём проблема?
0
1 / 1 / 0
Регистрация: 04.11.2019
Сообщений: 38
07.02.2020, 12:12  [ТС]
Попробуй запустить код
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
07.02.2020, 12:13
А, понятно. А передавать значения в функцию не пробовали?
1
1 / 1 / 0
Регистрация: 04.11.2019
Сообщений: 38
07.02.2020, 12:15  [ТС]
Если бы не передавал, не спрашивал бы
0
150 / 120 / 36
Регистрация: 01.11.2019
Сообщений: 425
07.02.2020, 12:28
Python
1
2
3
4
5
6
7
8
def setup_profile(name, vacation_dates):  # задаём информацию про работника
    return name, vacation_dates
 
 
def print_application_for_leave(name, vacation_dates):  # заявление на отпуск
    return 'Заявление на отпуск в период', setup_profile(name, vacation_dates)[1] + '.', setup_profile(name, vacation_dates)[0]
 
print(print_application_for_leave('sdasd', '14'))
1
1 / 1 / 0
Регистрация: 04.11.2019
Сообщений: 38
07.02.2020, 13:32  [ТС]
volkomorov, конечно хорошее решение, но print_application_for_leave не должна ничего принимать

Добавлено через 1 минуту
volkomorov,
Ввод:
setup_profile("Иван Петров", "1 июня – 20 июня")
print_application_for_leave()
print_application_for_leave()
print_holiday_money_claim("15 тысяч пиастров")
print_attorney_letter("Василий Васильев")
Ожидаемый результат:
Заявление на отпуск в период 1 июня – 20 июня. Иван Петров
Заявление на отпуск в период 1 июня – 20 июня. Иван Петров
Прошу выплатить 15 тысяч пиастров отпускных денег. Иван Петров
На время отпуска в период 1 июня – 20 июня моим заместителем назначается Василий Васильев. Иван Петров
0
14 / 13 / 1
Регистрация: 18.12.2018
Сообщений: 422
07.02.2020, 13:33
Цитата Сообщение от 3XTR4 Посмотреть сообщение
что не так (не могу использовать эти значения использовать)
когда возвращаешь несколько значений из функций с помощью return, то функция возвращает их в виде кортежа(tuple), то есть тип данных который нельзя изменить.
Python
1
2
3
4
5
6
7
8
def setup_profile(name, vacation_dates):  # задаём информацию про работника
    return name, vacation_dates
 
 
def print_application_for_leave(name, vacation_dates):  # заявление на отпуск
    return 'Заявление на отпуск в период', setup_profile(name, vacation_dates)[1] + '.', setup_profile(name, vacation_dates)[0]
 
print(type(print_application_for_leave('sdasd', '14'))) #<class 'tuple'>
Попробуй изменить функцию так, чтобы возвращало только одно значение, тогда будешь получать тот тип переменной, которую хочешь...
0
1 / 1 / 0
Регистрация: 04.11.2019
Сообщений: 38
07.02.2020, 13:36  [ТС]
SalavatGood, хорошо, попробую
0
150 / 120 / 36
Регистрация: 01.11.2019
Сообщений: 425
07.02.2020, 13:42
Это не решение, а пример!
Разбери его и поймешь что дальше делать.
0
1 / 1 / 0
Регистрация: 04.11.2019
Сообщений: 38
07.02.2020, 13:47  [ТС]
SalavatGood, Даже если я верну одно значение, я серавно не могу его использовать, программа его не хочет видеть!

Добавлено через 3 минуты
volkomorov, setup_profile - создаём имя и дату отпуска
print_application_for_leave - Возвращаем строку с датой и именем
print_holiday_money_claim(amount) - возвращаем какую плату хочет сотрудник на время отпуска
print_attorney_letter(to_whom) - возвращает, кого хотят сделать заместителем

Пример - разобран. Не помогло это
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
07.02.2020, 13:56
3XTR4, Ликбез.

1. Функция видит только то, что передано в неё в качестве параметра. (Глобалки не рассматриваем, т. к. это говнокод.)
То есть print_application_for_leave не видит ничего, print_holiday_money_claim видит только amount. Далее по аналогии.
Нет никаких оснований, чтобы они видели vacation_dates . Чтобы они видели - надо передать его передать в качестве параметра.

2. И локальные переменные внутри функции, и параметры видны только внутри функции. То есть тот vacation_dates, который внутри неё, будет виден только там. Нет оснований считать, что он будет виден откуда-то извне.

Это называется "области видимости".

Добавлено через 2 минуты
0
1 / 1 / 0
Регистрация: 04.11.2019
Сообщений: 38
07.02.2020, 14:07  [ТС]
dondublon, Понял-понял, не души

Но мой код имеет право на жизнь?
Если нет, продемонстрируешь код нормального человека?
0
150 / 120 / 36
Регистрация: 01.11.2019
Сообщений: 425
07.02.2020, 14:15
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
class profile:
    def __init__(self, name, vaccation_dates, amount, to_whom):
        self.name = name
        self.vaccation_dates = vaccation_dates
        self.amount = amount
        self.to_whom = to_whom
 
    def setup_profile(self):  # задаём информацию про работника
        return self.name, self.vaccation_dates
 
    def print_holiday_money_claim(self):  # заявление на выплату отпускных
        return 'Прошу выплатить', self.amount, 'отпускных денег.', self.name
 
    def print_attorney_letter(self):  # и доверенность на передачу своих служебных полномочий заместителю
        return 'На время отпуска в период', self.vaccation_dates, 'моим заместителем назначается', self.to_whom + '.', self.name
 
profile = profile('1', '2', '3', '4')   # указать параметры  - name, vaccation_dates, amount, to_whom
one = profile.setup_profile()
two = profile.print_holiday_money_claim()
three = profile.print_attorney_letter()
 
print(' '.join(one))
print(' '.join(two))
print(' '.join(three))
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
07.02.2020, 14:15
Лучший ответ Сообщение было отмечено 3XTR4 как решение

Решение

3XTR4, конечно, не имеет.

Как-то так, но вообще такие вещи самому читать надо.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def setup_profile(name, vacation_dates):  # задаём информацию про работника
    # Функция смысла не имеет, но для абстрактного примера путь остаётся
    return name, vacation_dates
  
def print_application_for_leave(vacation_dates, name):  # заявление на отпуск
    return 'Заявление на отпуск в период', vacation_dates + '.', name
  
def print_holiday_money_claim(amount, name):  # заявление на выплату отпускных
    return 'Прошу выплатить', amount, 'отпускных денег.', name
 
def print_attorney_letter(vaccation_dates, to_whom, name):  # и доверенность на передачу своих служебных полномочий заместителю
    return 'На время отпуска в период', vaccation_dates, 'моим заместителем назначается', to_whom + '.', name
 
cool_name, cool_dates = setup_profile(???)
app_leave = print_application_for_leave(cool_dates, cool_name)
# Далее по аналогии.
1
243 / 178 / 73
Регистрация: 17.10.2018
Сообщений: 749
07.02.2020, 15:18
Цитата Сообщение от 3XTR4 Посмотреть сообщение
print_application_for_leave не должна ничего принимать
Это почему? Заданное условие?
0
1 / 1 / 0
Регистрация: 04.11.2019
Сообщений: 38
08.02.2020, 06:18  [ТС]
Lekks, да

Добавлено через 29 секунд
dondublon, Ок. Спасибо за небольшой урок
0
243 / 178 / 73
Регистрация: 17.10.2018
Сообщений: 749
08.02.2020, 07:35
Ну вообще-то, если функция print_application_for_leave не должно ничего принимать, то можно в ней вызвать функцию setup_profile для вычисления name и vacation_dates.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.02.2020, 07:35
Помогаю со студенческими работами здесь

не могу вернуть значение из программы
Не могу вывести значение переменной N при условии, когда h2feb становится положительным. Пожалуйста знающие люди подскажите пожалуйста как...

Как в функции вернуть значение, а потом продолжить работу этой функции?
Есть функция main, которая возвращает определенное значение. Это значение должно вернутся в течении 1.5 секунд. Проблема в том, что в этой...

Вернуть значение из функции
Битый час бьюсь не могу вспомнить где ошибсья я? Не могу вернуть координаты из функции var accurateLat,accurateLng; ...

Вернуть значение из функции
Здравствуйте, имеется такой код. function check_country(ip){ $.ajax({ type: 'POST', url: url, dataType:...

Вернуть значение из функции
Приветсвую программисты! Такая проблема, надо возвратить m из функции, а оно возвращает не то что надо вообще 2 ошибки: вот основной...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru