#python #list
Вопрос:
Итак, в VSCode я получаю эту ошибку…
Учитывая входные данные
2
21 22
У нас есть переменные, говорящие
best_choice = ’22’
а: [’21’, ’22’]
Однако a.remove(best_choice) возвращает ошибку. Я совершенно сбит с толку… пожалуйста, помогите. Я проверил наличие этой проблемы в стеках и обнаружил, что функция remove() не работает при повторении списка, поэтому я изменил свой цикл на while(True). Однако я все еще получаю ту же ошибку.
Вот код:
import sys
def best_option(a):
iterator = 0
while(len(a)>1):
previous_best_digit = 0
current_best_digit = 0
best_short_option = []
return_list = []
for item in a:
if len(item)-1 < iterator:
char_previous = item[iterator-1:iterator]
dig_previous = ord(char_previous)
previous_best_digit = dig_previous
best_short_option = item
continue
char = item[iterator:iterator 1]
dig = ord(char)
if dig > current_best_digit:
current_best_digit = dig
return_list.clear()
return_list.append(item)
elif dig == current_best_digit:
return_list.append(item)
if (current_best_digit < previous_best_digit):
return_list.clear()
return_list.append(best_short_option)
a = return_list
iterator =1
return a
def largest_number(a):
#write your code here
res = ""
while (True):
best_choice = best_option(a)
print(best_choice)
a.remove(best_choice)
res = best_choice
if (len(a)==1):
break
res.append(a)
print(res)
return res
if __name__ == '__main__':
input = sys.stdin.read()
data = input.split()
a = data[1:]
print(largest_number(a))
Его цель-создать строку с максимально возможным значением из списка строк.
Ответ №1:
твое best_choice
есть ['22']
, а не '22'