Есть такой код:
#!/usr/bin/env python3
def likes(names):
names_length = len(names)
if names_length == 0:
result = 'no one likes this'
elif names_length == 1:
result = names[0] + ' likes this'
elif names_length == 2:
result = names[0] + ' and ' + names[1] + ' like this'
elif names_length == 3:
result = names[0] + ', ' + names[1] + ' and ' + names[2] + ' like this'
else:
result = names[0] + ', ' + names[1] + ' and ' + str(names_length - 2) + ' others like this'
return result
res = likes([])
print(res)
res = likes(["Peter"])
print(res)
res = likes(['Jacob', 'Alex'])
print(res)
res = likes(['Max', 'John', 'Mark'])
print(res)
res = likes(['Alex', 'Jacob', 'Mark', 'Max'])
print(res)
res = likes(['Alex', 'Jacob', 'Mark', 'Max', 'sergey'])
print(res)
res = likes(['Alex', 'Jacob', 'Mark', 'Max', 'sergey', 'anton'])
print(res)
Он рабочий, но меня смущает, что я несколько раз в пределах блока объявил переменную result. Судя по тому, что ошибок в консоли не было, так делать можно. Но хороший ли это стиль?
В javascript в подобных случаях я сначала объявлял переменную в пределах блока так
let result;
, а потом уже изменял.
Подскажите пожалуйста как правильнее поступать в подобных ситуациях