#python-3.x
#python-3.x
Вопрос:
def define():
a = input("Language:")
b = input("Version:")
return a,b
def print_language():
f = define()
print(f[0],f[1])
define()
print_language()
Language:Python
Version:3.8
Language:Python
Version:3.8
Python 3.8
Результатом этого является то, что он вызывает функцию дважды, как это. Я знаю решение этого, только для вызова 2-й функции, но мой вопрос:
Возможно ли присвоить значения, которые мы получаем из первой функции с помощью «return», переменной, не вызывая саму первую функцию, а затем, например, когда мы отправляем значение в первую функцию, можем ли мы вызвать его и использовать, не повторяя его во второй раз?
Комментарии:
1. Попробуйте передать его в
print_language()
, напримерdef print_language(f):
, затем вы можете вызватьprint_language(define())
2. да, просто сохраните язык и версию как глобальные переменные
3. @Sadap, я лично не рекомендовал бы глобальные переменные, просто передайте результаты. К глобальным переменным обычно относятся неодобрительно, как к признаку недостаточно продуманной программы.
4. @AChampion, не сработало. та же проблема продолжается
5. def define(): a = input(«Язык:») b = input(«Версия:») def print_language(f): print(f[0],f[1]) define() print_language(define())
Ответ №1:
Вам нужно передать результаты define()
в print_language()
, например:
def print_language(f):
print(f[0],f[1])
result = define()
print_language(result)
Или это может быть свернуто до:
print_language(define())