Функция printGreater()

87
11

Я пытаюсь реализовать функцию printGreater() которая принимает в качестве параметра список чисел и числовое значение. Он печатает числа в списке, которые больше, чем значение, все в одной строке с пробелом между ними. Если в качестве первого параметра указан пустой список, функция ничего не печатает.

Это то, что у меня есть до сих пор:

def printGreater(nums, value):

lstN = (int[nums],value)
if nums > value:
print(nums, end=", ")

спросил(а) 2021-01-19T16:25:36+03:00 2 месяца, 3 недели назад
1
Решение
61

def printGreater(nums, value):
#First create an empty list to hold onto all the numbers larger than value
greater = [];

#Loop overall the input values, saving all large ones
for num in nums:
if num > value:
#Convert to a string for printing
greater.append(str(num))

#Print them out with spaces in between
print( ' '.join(greater) )

#Then test with this
printGreater([1, 2, 3, 4, 5, 6, 7], 3)

ответил(а) 2021-01-19T16:25:36+03:00 2 месяца, 3 недели назад
43

Здесь вы хотите использовать цикл for. Я положу код, а затем объясню, что происходит.

def print_greater(nums_list, value):
string = ''
for num in nums_list:
if num > value:
string += str(num) + ' '
return string

Во-первых, я инициализирую новую строковую переменную:

string = ''

Затем я начинаю цикл итерации:

for num in nums_list:
...

То, что должен сделать цикл iteration (for), - это начать с первого элемента в списке a, дать его, и сделать этот элемент "num". Затем я могу делать все, что захочу, с этим элементом. Как только я закончу, он перейдет к второму пункту и так далее.


        if num > value:
string += str(num) + ' '

В этом случае я хочу сравнить num со значением. Если num отлично, я хочу добавить строку, инициализированную ранее. То, что означает + = означает...

string += str(num) + ' '

такой же как

string = string + str(num) + ' '

Наконец, в конце я возвращаю строку.

Надеюсь, это поможет!

ответил(а) 2021-01-19T16:25:36+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема