Почему пишет NameError: name 'v' is not defined?
Изучаю сортировки.Подскажите почему не работает?
def bubble_sort(nums):
swapped = True
v = 0
while swapped:
swapped = False
for i in range(len(nums) - 1):
if nums[i] > nums[i + 1]:
nums[i], nums[i + 1] = nums[i + 1], nums[i]
swapped = True
for i in range(len(nums) - 1):
if nums[i] > nums[i + 1]:
v + 1
random_list_of_nums = [8,6,7,5,4,2,3,1]
bubble_sort(random_list_of_nums)
print(random_list_of_nums)
print (v)
Ответы (1 шт):
Автор решения: Danis
→ Ссылка
потому что v это локальная переменная, она существует только внутри bubble_sort, её надо вернуть и сохранить в переменную
def bubble_sort(nums):
...
return v
random_list_of_nums = [8,6,7,5,4,2,3,1]
v = bubble_sort(random_list_of_nums)
print(random_list_of_nums)
print (v)
но результатом всегда будет 0 т.к. место v + 1 надо писать v += 1