Я новичок в программировании (просто узнал, что такое командная строка); нет предыдущего опыта и просто нашел этот сайт, чтобы оправдать любые ошибки форматирования.
Я действительно борюсь с добавлением аргументов функции. В частности, мне нужно добавить аргумент к функции, которую я создал, в которой я возвращаю диапазон с шагом 5. По причинам, которые выше моего текущего уровня квалификации (но очевидно, что вы, ребята, я уверен), я не могу использовать основная функция, чтобы заменить 51 в моей функции fname на 101. По сути, я должен дать fname аргумент для верхнего конца диапазона. Из основной функции я должен передать значение 101 функции fname, чтобы fname возвращал [0, 5, 10,..., 100] к основной функции, а основная функция печатала это на экране.
def fname(arg1):
"""this function will compute a range from 0 to 50 in increments of 5"""
result = list(range(0, 51, 5))
return result
def main():
arg1 = list(range(0, 101, 5))
from_fname_function = fname(arg1)
print(from_fname_function)
if __name__ == '__main__':
main()
Любая помощь (с подробным объяснением) была бы весьма признательна. Я нашел много ресурсов, как использовать аргументы в функции, но я не могу понять, как изменить максимальный предел в диапазоне таким образом.
Обратите внимание, что вы не используете аргумент, добавленный в тело функции. Судя по докшрингу, я предполагаю, что вы хотите сделать верхнюю границу диапазона гибкой. Попробуйте выполнить следующие строки:
def fname(arg1):
# actually use the argument to build the range
result = list(range(0, arg1, 5))
return result
def main():
arg1 = 101
from_fname_function = fname(arg1)
print(from_fname_function)
def fname(start, end, inc):
return list(range(start, end, inc))
print(fname(0,51,5))
В приведенном выше коде функция fname возвращает список значений от "start" до "end" с приращением "inc"
op: [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50]
Я думаю, что трюк, который вы ищете, состоит в том, чтобы функция fname
могла возвращать списки, начинающиеся с нуля, и с шагом в 5, вплоть до любого выбранного вами предела. Вы действительно близки; вам просто нужно использовать параметр arg1
когда вы делаете диапазон, например:
def fname(arg):
return list(range(0, arg, 5))
Теперь вы можете использовать эту функцию для создания множества списков:
def main():
print(fname(51)) # this will print [0, 5, 10, ..., 50]
print(fname(101)) # this will print [0, 5, 10, ..., 100]
print(fname(10)) # this will print [0, 5]
Идея аргументов функции заключается в том, что они позволяют вам создавать функцию, которая может делать что-то с разными значениями в разное время. Поэтому, если вы хотите, чтобы списки, начинающиеся с нуля, с шагом в пять, и вы хотите сделать это для разных конечных значений, вы делаете предел аргументом (потому что это часть, которая изменяется), и используйте аргумент только правильное место в функции.
Надеюсь, это поможет!
101
вfname(arg1)
и изменить51
вarg1
?