I’m new to programming, how do I get out of sequential foma returns?

Asked

Viewed 91 times

0

ano = input()  
a= ano.split()
def contaDigitos():
for x in a:
    s= len(x)
    if s !=4:
     return "Ano invalido"
    else:
     return x

def ehBissexto():
for x in a:
    x= int(x)
    if x % 4==0 and x %100!=0:
     if x> 2019:
         return("ser� bisexto")
     else :
         return"foi bisexto"
    else:
        return "nao e bissexto" 

Mensagem (k,m):
print("{}={}".format(k,m))

Mensagem(contaDigitos(),ehBissexto())

entree
2017 2020 1980 05 20 2024

expected exit
The year 2017 is not leap
The year 2020 Leap time
The year 1980 was leap
Invalidity year
Invalidity year
The year 2024 Leap time

  • What would be the "linear shape" of the output of the function? What is the current output? Obs.: check the code indentation in the question...

  • in the form that is in the example of the above exit, (one on the side the other )

  • 1

    Mark, "linear shape" would be all outputs on the same line?

  • 2

    The correct term is sequential output. When you use a linear term you understand that the result comes from a linear transformer.

  • ok I’ll change the question thanks.

1 answer

1

Follow a code suggestion able to solve your problem, see only:

import calendar
import datetime

entrada = input()

agora = datetime.datetime.now()

anos = [(int(ano), calendar.isleap(int(ano))) for ano in entrada.split()]

for ano, ehbissexto in anos:
    bissexto = ' ' if ehbissexto else ' nao '
    if ano > agora.year:
        print('O ano de {}{}serah bissexto.'.format(ano,bissexto))
    elif ano < agora.year:
        print('O ano de {}{}foi bissexto.'.format(ano,bissexto))
    elif ano == agora.year:
        print('O ano de {}{}eh bissexto.'.format(ano,bissexto))

Entree:

1982 1983 1984 1985 1990 2018 2019 2020 2021 2022

Exit:

O ano de 1982 nao foi bissexto.
O ano de 1983 nao foi bissexto.
O ano de 1984 foi bissexto.
O ano de 1985 nao foi bissexto.
O ano de 1990 nao foi bissexto.
O ano de 2018 nao foi bissexto.
O ano de 2019 nao eh bissexto.
O ano de 2020 serah bissexto.
O ano de 2021 nao serah bissexto.
O ano de 2022 nao serah bissexto.

See working on repl it.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.