Правильно, поэтому я выполняю домашнее задание, и меня просят сделать следующее:
Создайте функцию, называемую данными студента, которая принимает четыре параметра, имя (строка), возраст (целое число), номер студента (строка) и включены ли они в CSCA08 (логическое) и возвращает строку содержащую эту информацию в следующем формате: [номер студента, имя, возраст, зарегистрированный].
Ваш код должен работать следующим образом:
>>> student_data("Brian",32,"1234567",False)
`[1234567,Brian,32,False]'
>>> student_data("Nick",97,"0000001",True)
`[0000001,Nick,97,True]'
Я придумал следующее:
def student_data(name, age, student_number):
return '[' + student_number + ',' + name + ',' + str(age) + ']'
и при вводе его в Python:
student_data("Jeremy", 19, "999923329")
'[999923329,Jeremy,19]'
(Обратите внимание, что я оставил последний бит о логических значениях - я получу это через секунду.)
Из того, что я понимаю, "Jeremy" и "999923329" - это строки, которые впоследствии были возвращены как часть строки во второй строке. Для "возраста", поскольку не было никаких цитат, когда я вызывал функцию student_data, он интерпретировался как int by Python. Затем я преобразовал это значение int в строку, поэтому я мог бы получить "[999923329, Jeremy, 19]".
Так технически, я предполагаю, что я спрашиваю: есть ли параметр age, рассматриваемый как int на python, до тех пор, пока функция return не изменит ее на тип str? Обратите внимание, что назначение требует четыре параметра, две строки (которые у меня есть), один int (который я не знаю, если он фактически интерпретируется как int) и логический, что приводит к следующему:
Я действительно не знаю, как работают булевы. В частности, в контексте задания, что именно я должен делать? Какой пример? Я немного поиграл с моим кодом, и я придумал это:
def student_data(name, age, student_number, boolean):
return '[' + student_number + ',' + name + ',' + str(age) + "," + str(boolean) + ']'
И введите его в Python:
student_data("Jeremy", 19, "999923329", True)
'[999923329,Jeremy,19,True]'
Фактически это точно соответствует тому, что мне хотелось сделать, но мне это не нравится, потому что я действительно не понимаю, что происходит. Например, "boolean" - это параметр, который должна работать функция student_data. Но что такое параметр в точности? Это то же самое, что и переменная? Когда я ввожу "True" в оболочку python, что именно происходит?
Это то, что происходит, когда вы назначаете значение переменной? В этом случае, что происходит, когда я присваиваю значение переменной? Назначение требует, чтобы параметр был логическим, но я не верю, что ввел логический код в код, не так ли?
И да, если это уже не очевидно, у меня никогда не было класса компьютерной науки.