Как запросить список настроек в Python, запросить номер (x), удалить x количество входов и повторно перечислить их? - PullRequest
2 голосов
/ 21 марта 2020

Я новичок в Python, и в настоящее время я изучаю списки. Вот вопрос, который я пытаюсь решить:

Ваша любимая группа в городе, и билеты продаются быстро! Увы, вы опоздали, чтобы поймать один из них, поэтому вы добавили свое имя в список ожидания на случай, если будут выпущены дополнительные билеты.

Напишите программу для управления списком ожидания для концерта.

Ваша программа должна прочитать список имен в списке ожидания и количество выпущенных дополнительных билетов.

Затем она должна объявить имена людей, набравших дополнительные билеты.

Вот пример того, как ваша программа должна работать:

People in line: Dave, Lin, Toni, Markhela, Ravi
Number of extra tickets: 3
Tickets released for: Dave, Lin, Toni

Примечание: имена разделяются запятой и пробелом (',').

Если больше не выпущено билетов, ваша программа должна работать так:

People in line: Mali, Micha, Mary, Monica
Number of extra tickets: 0
Fully Booked!

Эта группа настолько популярна, что всегда будет как минимум столько же людей, сколько дополнительных билетов. Вам не придется беспокоиться об ошибках индекса.

Я пробовал следующее, но он всегда печатает весь список, а не только подмножество.

ppl = []
sep = ', '
ppl_in_line = input('People in line: ')
ppl.append(ppl_in_line)
x = int(input('Number of extra tickets: '))
if x == 0:
    print('Fully Booked!')
else:    
    y = ppl[:x]
    print('Tickets released for: ' + (sep.join(y)))

Ответы [ 2 ]

3 голосов
/ 21 марта 2020

ppl_in_line - это строка. Поэтому, когда вы добавляете ppl, вы добавляете одну строку.

Чтобы ввести отдельный список ppl в одну строку, сделайте следующее:

ppl_in_line = input('People in line: ').split(sep)

1 голос
/ 21 марта 2020

Вы забыли разделить своих людей на несколько элементов:

ppl_in_line = input('People in line: ')
ppl = ppl_in_line.split(sep)

Предполагается, что ваш ввод для People in line: будет выглядеть примерно так:

Dave, Lin, Toni, Markhela, Ravi

Если вы хотите используйте ppl.append, вы должны упомянуть их имя по имени в al oop:

while True:
    ppl_in_line = input('People in line: ')
    if not ppl_in_line:
        break
    ppl.append(ppl_in_line)

Вы можете вводить имена как

Dave
Lin
Toni
Markhela
Ravi

Пустой ввод закончится sh список.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...