Найти - Пользователи
Полная версия: Gомогите решить задачу на питоне 3!
Начало » Python для новичков » Gомогите решить задачу на питоне 3!
1
Yuliya00
Условие
Август и Беатриса играют в игру. Август загадал натуральное число от 1 до n. Беатриса пытается угадать это число, для этого она называет некоторые множества натуральных чисел. Август отвечает Беатрисе YES, если среди названных ей чисел есть задуманное или NO в противном случае. После нескольких заданныъх вопросов Беатриса запуталась в том, какие вопросы она задавала и какие ответы получила и просит вас помочь ей определить, какие числа мог задумать Август.

В первой строке задано n - максимальное число, которое мог загадать Август. Далее каждая строка содержит вопрос Беатрисы (множество чисел, разделенных пробелом) и ответ Августа на этот вопрос.

Вы должны вывести через пробел, в порядке возрастания, все числа, которые мог задумать Август.
n=int(input())
b=set(range(1, n+1))
while True:
i=input().split()
if i[0]=='HELP':
break
else:
i=float(i)
ans=input()
if ans =='YES':
b=b|set(i)
else:
b=b-set(i)
b=list(b)
for k in range (len(b)):
if b[k]>b[k-1]:
b[k], b[k-1]=b[k-1], b[k]
print(b)
Не разрешает присвоить b тип list
marvellik
а что там у вас в b до его преобразования в list? потому как
 >>> b = {21,13,23,45,67}
>>> print(type(b))
<class 'set'>
>>> b = list(b)
>>> print(type(b),b)
<class 'list'> [67, 13, 45, 21, 23]
нет никаких проблем
Yuliya00
marvellik
а что там у вас в b до его преобразования в list? потому как
Вот входные данные:
1 2 3 4 5
YES
2 4 6 8 10
NO
HELP
marvellik
я вам предлагал найти ошибку в вашем коде проверив что за тип b если вызывает ошибку при преобразовании. а решение готовое не проблема но вам то оно что даст:?
 n = int(input())
all_nums = set(range(1, n + 1))
possible_nums = all_nums
while True:
    guess = input()
    if guess == 'HELP':
        break
    guess = {int(x) for x in guess.split()}
    answer = input()
    if answer == 'YES':
        possible_nums &= guess
    else:
        possible_nums &= all_nums - guess
print(' '.join([str(x) for x in sorted(possible_nums)]))
ZerG
Решение етой задачи есть готовое в нете и гуглиться за 5 минут.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB