Я отображаю числа без начала или после нуля (05 представляется мне как 5, а 10-как 1). Как это решить?

#python #python-3.x #string #type-conversion #numbers

Вопрос:

Если я попытаюсь вставить в базу данных, используя комбинацию для выбора времени или даты, такие числа, как 05 или 10 (например, 05.10), эти числа отображаются без нуля. Итак, у меня будет 5 и 1, и я получу это 5.1. Есть ли какой-то способ отобразить и 0, или вам нужно преобразовать их в строку? Если да, то я пробовал, но получаю ошибку. Я не знаю, является ли преобразование в строку правильным решением. У вас есть решения?

Мне нужно обязательно отображать их с 0 (например, 05 или 10). Мне не нужен тккалендар.

ОБНОВЛЕНИЕ: преобразование в строку не решает проблему. Очевидно, я не получаю ошибку, но проблема та же самая. Например, если я выберу 04 и 10 в двух выпадающих списках, я получу 4.1. Я хотел бы получить 04.10

 def date():  day = combo_date_day.get()  month = combo_date_month.get()  result = (str)day   '.'   (str)month  return result   combo_date_month = ttk.Combobox(root, font=("Arial", 11), width=6, textvariable=month) combo_date_month['values'] = ("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12")  combo_date_month.place(x=105, y=150) combo_date_month.set("Month")   combo_data_day = ttk.Combobox(root, font=("Arial", 11), width=6, textvariable=day) combo_data_giorno['values'] = ("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31")  combo_data_day.place(x=15, y=150) combo_data_day.set("Day")  

Ошибка

 result = (str)day   '.'   (str)month  ^ SyntaxError: invalid syntax  

Комментарии:

1. Ошибка здесь — это synatx для приведения типов typename(variable) . Так что тебе следует написать str(day) .

Ответ №1:

Это недопустимое преобразование типов. Синтаксис, которому вы следовали, можно увидеть в Java. Но в python синтаксис-str(переменная).

 def date():  day = combo_date_day.get()  month = combo_date_month.get()  result = str(day)   '.'   str(month)  return result   #Example day or month combo_date_month = ttk.Combobox(root, font=("Arial", 11), width=6, textvariable=month) combo_date_month['values'] = ("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12")  combo_date_month.place(x=105, y=150) combo_date_month.set("Month")  

Итак, вот почему это приводит к синтаксической ошибке.

Комментарии:

1. Преобразование в строку не устранило ошибку. Я попробовал ваш код, спасибо за ответ, но у меня все еще та же проблема. Например, если я выберу 04 и 10 в двух выпадающих списках, я получу 4.1. Я хотел бы получить 04.10

2. Пожалуйста, предоставьте код о combo_date_day и получите()

3. Выполнено. Обновленный вопрос. Код один и тот же для месяцев

4. Пожалуйста, расскажите, как выглядят combo_date_month и combo_date_day. приведите пример, пожалуйста.

5. Например, если я выберу 04 и 10 в двух выпадающих списках день и месяц, я получу 4.1. Я хотел бы получить 04.10