Bc23 Ответов: 1

Как мне сделать так, чтобы аргументы были определены и напечатаны, я не получаю ошибок, которые он просто не будет печатать.


def document(title="once upon a time ", genre="fiction"):
  print(title+genre)


Вот этот код

Что я уже пробовал:

Я попытался определить аргументы в отдельной строке

1 Ответов

Рейтинг:
1

OriginalGriff

Я бы сказал, что, вероятно, это потому, что вы определили функцию, но вы ее не использовали.
Попробовать это:

def document(title="once upon a time ", genre="fiction"):
   print(title+genre)

print ('Hello World')
document()
document("Wyrd Sisters")
document("Wyrd Sisters", "Fantasy")
И посмотрим, решит ли это вашу проблему.


CPallini

5.

Bc23

Если позволите спросить, что вы имеете в виду, говоря, что я им не пользовался?

OriginalGriff

Функции выполняются только тогда, когда вы их вызываете - точно так же, как вы "знаете", как написать эссе, вы делаете это только тогда, когда ваш учитель приступает к домашнему заданию.
"Знать, как написать эссе" - это функция, инструкция преподавателя-это вызов функции, а вы пишете домашнее задание-это выполнение этой функции.
В коде, который я показал, первые две строки-это определение (бит "знание того, как написать эссе"), а последние три строки-это вызовы функции "документ", передающие различные параметры (названия эссе) для ее обработки.

В этом есть смысл?

Bc23

Мне очень жаль, что я очень новичок в этом, но это не имеет смысла, почему у вас есть часть документа(würd sisters), если вы ее определяете, разве она не должна просто печатать то, что вы определили. Как мой оригинал?

CPallini

Нет. То, что вы определили, - это по умолчанию аргументы функции см. В разделе
https://www.geeksforgeeks.org/default-arguments-in-python/

OriginalGriff

Ваше определение:

def document(title="once upon a time ", genre="fiction"):   print(title+genre)

определяет имя функции и два параметра - которые имеют значения по умолчанию "однажды" и "вымысел", которые используются только в том случае, если вы не предоставляете их при вызове функции.
Возвращаясь к примеру с домашним заданием:
def Homework(action="write an essay", subject="phases of the moon")

определяет тип домашнего задания по умолчанию "написать эссе" и тему "фазы луны" - которая может быть использована, если он назовет ее без параметров:
Homework()

Может быть, вам сказали бы "написать эссе о фазах луны"
Но он мог преодолеть этот тип:
Homework("Write a program to predict")

Может быть, вам сказали бы: "напишите программу для предсказания фаз Луны"
И он может переопределять оба:
Homework("Write a program to predict", "Saturday's lottery numbers")

Если бы вам сказали "написать программу для предсказания чисел субботней лотереи" - это совсем другая задача!

То, как вы его вызываете, определяет, используется ли значение по умолчанию, которое вы дали при определении функции, - это все.