не все аргументы преобразованы во время ошибки форматирования строки с модулем

#python

Вопрос:

я делал часы на python и протестировал их, они не работали. В оболочке написано «не все аргументы преобразованы во время форматирования строки», я действительно не знаю, что делать, чтобы исправить это, потому что я просто знаю, что строка-это ряд чисел, которые я думаю. В любом случае, я пытался заставить черепаху сориентироваться в нужном месте для указателя часов. Итак, я думаю, что это связано с модулем. Вот код на данный момент (не смотрите на незаконченную часть, она еще не закончена)

 import turtle
import datetime
from datetime import datetime
from turtle import *

def DRAW ():
    turtle.clear()
    DRAW2()
    DRAW4()
    turtle.pensize(4)
    DRAW1()
    DRAW5()
    DRAW3()
    DRAW7()



def DRAW1 ():
    turtle.penup()
    turtle.setx(0)
    turtle.sety(-50)
    turtle.pendown()
    now = datetime.now()
    current_minute = now.strftime('%M')
    current_sec = now.strftime('%S')
    current_hour = now.strftime('%H')
    print((((current_hour % 12) * 30)   (current_minute / 2)))    <---

def DRAW2 ():
    hello = 2

def DRAW3 ():
    hello = 8

def DRAW4 ():
    hello = 3

def DRAW5 ():
    hello = 89
    
def DRAW7 ():
    je = 3
    
DRAW()
 

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

1. current_hour и current_minute являются строками, а не числами, вы не можете выполнять с ними арифметику.

Ответ №1:

current_hour является строкой, а не целым числом, поскольку strftime() используется для форматирования дат и времени в виде строк. Так % же как и оператор форматирования строк, а не модуль.

Там нет необходимости использовать strftime . datetime Объект имеет атрибуты с компонентами. Так что используйте

 current_hour = now.hour
current_minute = now.minute
current_sec = now.second