Использование списка со строковыми элементами в качестве имени файлов для создания в цикле for - PullRequest
0 голосов
/ 20 июня 2020

У меня есть список дней, в котором каждый элемент назван в честь дней недели. [«понедельник», «вторник», «среда» и т. д. c.]. Но я получаю сообщение об ошибке от PyCharm, в котором говорится следующее:

«Эта проверка обнаруживает ошибки типа в выражениях вызова функций. Благодаря динамической c диспетчеризации и утиной печати это возможно в ограниченном, но полезном количестве случаев. Типы параметров функций могут быть указаны в строках документации или Python 3 аннотациях функций. "

    if choice == 1:
    day = input("Which day of the week would you like to create a file for?")

    days = ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"]

    for i in range(days):
        if day == days[i]:
            with open(",day", day, "_tasks.csv", "w") as day_csv:
                writer = csv.writer(day_csv)
                writer.writerows(day)

Если бы кто-нибудь мог сказать мне, что я делаю не так, я был бы признателен.

1 Ответ

2 голосов
/ 20 июня 2020

Вероятно, это for i in range(days) неверно. Функция range() ожидает число, а не массив. Попробуйте:

for i in range(len(days)):
        if day == days[i]:
            with open(",day", day, "_tasks.csv", "w") as day_csv:
                writer = csv.writer(day_csv)
                writer.writerows(day)

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

if choice == 1:
    day = input("Which day of the week would you like to create a file for?")
    day = day.lower()    # Make day lowercase 
    
    days = ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"]
    
    if day in days:
        with open(",day", day, "_tasks.csv", "w") as day_csv:
            writer = csv.writer(day_csv)
            writer.writerows(day)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...