Um caso clássico de programação em Python [perguntas do exame] determina que a data é o dia do ano

Este artigo explora casos clássicos de programação Python com você, permitindo que você aprenda Python de forma imersiva. Você pode pensar sobre o tópico primeiro e, em seguida, compará-lo com os métodos de solução de problemas deste artigo. Se você tiver opiniões diferentes, seja bem-vindo para discutir comigo na conta oficial.

1. Caso clássico [perguntas do exame]

  
Pergunta:
  
Digite uma data e determine que dia do ano é esse dia?
  
Entrada:
  
20220809
  
Saída:
221

  
  

2. Método clássico de solução de problemas de caso

  

1 Método 1: encontre o número de dias calculando a diferença de horário entre este dia e 1º de janeiro do ano

  
A primeira maneira de resolver o problema no caso acima é:
  
Etapa 1: interceptar o ano do tempo de entrada e juntar 1º de janeiro desse ano como a data de referência.
  
Passo 2: Calcule o intervalo entre a data de entrada e a data de referência, adicione 1 ao intervalo para encontrar o dia do ano.
  
O código específico é o seguinte:

from datetime import date

raw_date = input('请按yyyymmdd方式输入年月日')
def y_days1(raw_date):
    date1 = date(int(raw_date[0:4]), 1, 1)
    date2 = date(int(raw_date[0:4]), int(raw_date[4:6]), int(raw_date[6:8]))
    return (date2 - date1).days + 1
y_days1(raw_date)

input('Por favor, insira o ano, mês e dia de acordo com aaaammdd'): Insira manualmente a data.
  
raw_date[0:4]: intercepta do primeiro ao quarto dígito da string.
  
Se a data for inserida manualmente como 20220105, o resultado será:

5

Você pode verificar manualmente se o resultado está correto. A vantagem desse método é que a lógica é simples e mais clara de entender.
  
  

2 Método 2: Obtenha somando o número de dias em cada mês

  
A segunda ideia de solução de problemas do caso acima é:
  
Etapa 1: chamar a biblioteca de calendários para aplicar o loop for para obter o número de dias em cada mês em que a data de entrada é menor que o mês atual no ano e adicioná-los.
  
Passo 2: Obtenha o número de dias no mês atual da data e some-o com o número de dias antes, para encontrar o dia do ano que é esse dia.
  
O código específico é o seguinte:

import calendar

raw_date = input('请按yyyymmdd方式输入年月日')
def y_days2(raw_date):
    all_days = 0
    for i in range(1, int(raw_date[4:6])):
        all_days += calendar.monthrange(int(raw_date[0:4]), i)[1]
    all_days += int(raw_date[6:8])
    print(all_days)
    return all_days
y_days2(raw_date)

Se a data manual for 20220108, o resultado será:

8

Você pode verificar manualmente se o resultado está correto e os amigos interessados ​​também podem copiar o código para o Python e inserir outra data para verificação.
  
Até agora, o caso clássico de programação em Python [questão de exame] foi explicado para determinar a data do ano. Se você quiser saber mais sobre funções em Python, pode ler artigos relacionados no módulo "Aprendendo Python" na conta oficial.
  
Você pode estar interessado em:
Desenhe Pikachu com Python
Desenhe um mapa de nuvem de palavras
com Python Desenhe 520 batimentos cardíacos eternos com Python Reconhecimento facial Python - você é
em meus olhos
o único Use a biblioteca py2neo em Python para operar o neo4j e construa um mapa de relacionamento Coleção de código-fonte de confissão romântica em Python (amor, rosa, parede de fotos, confissão sob as estrelas)


Acho que você gosta

Origin blog.csdn.net/qq_32532663/article/details/126568038
Recomendado
Clasificación