Как напечатать правильную длину добавленного списка за сколько выходных дней, когда пользователь вводит дни? - PullRequest
0 голосов
/ 05 июля 2019

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

Я попытался добавить список для sch_days_off, и он возвращает вывод 1, когда я пытаюсь напечатать, сколько дней у меня выходной. Я считаю, что строки, которые я использую не тот тип метода, чтобы добавить в свой список, чтобы попытаться подсчитать, сколько дней у меня выходной. Я также попробовал функцию подсчета, но она, кажется, не то, что мне нужно, и если это так, возможно, я не использую ее правильно

days_of_week = ('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 
'Friday', 'Saturday')

sch_days_off = []

def schedule_off():

    days_off = input("Please enter your days off:").split(' ')
    print(days_off)

    sch_days_off.append(days_off)

    print("This is how many days you have off: ")

def number_of_days_off():

    print("This is how many days you have off: %d" % len(sch_days_off))

schedule_off()

То, что я ожидал распечатать, было бы числом дней, когда я был выключен. Я обычно получаю два-три выходных дня, поэтому я ожидаю, что у него будет 2-3 выхода, а не один. Несмотря на это, он по-прежнему дает мне «1» в качестве выхода.

Ответы [ 2 ]

0 голосов
/ 05 июля 2019

Теперь вы добавляете список days_off как элемент к списку sch_days_off, поэтому len() всегда возвращает 1. Если вы хотите добавить все элементы days_off в sch_days_off, вам нужно используйте extend вместо append.

def schedule_off():

    days_off = input("Please enter your days off:").split(' ')
    print(days_off)

    sch_days_off.extend(days_off)

    print("This is how many days you have off: ")
0 голосов
/ 05 июля 2019

Здесь вы добавляете список days_off в другой список sch_days_off, поэтому sch_days_off становится двумерным списком. Вы печатаете номер списка, который содержит sch_days_off (1).

Попробуйте это:

def schedule_off():

    days_off = input("Please enter your days off:").split(' ')
    print(days_off)

    for day in days_off:
      sch_days_off.append(day)

    print("This is how many days you have off: ")

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