#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