Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  4 3748
Hei. Jeg har laget et Program i Python. Som svarer på alder, med baby, barn, tenåring, og voksen.
Er det noen måte, jeg kan få gjort det, med færre linjer med kode?

Her er script:

Kode

alder = input ("Alder: ")
stadie_i_livet = "godt voksen"

#Stadie i livet baby
if alder == "1":
   stadie_i_livet = "baby"


#Stadie i livet barn

if alder == "2":
   stadie_i_livet = "barn"
if alder == "3":
   stadie_i_livet = "barn"
if alder == "4":
   stadie_i_livet = "barn"
if alder == "5":
   stadie_i_livet = "barn"
if alder == "6":
   stadie_i_livet = "barn"
if alder == "7":
   stadie_i_livet = "barn"
if alder == "8":
   stadie_i_livet = "barn"
   if alder == "9":
       stadie_i_livet = "barn"
   if alder == "10":
       stadie_i_livet = "barn"
   if alder == "11":
       stadie_i_livet = "barn"
   if alder == "12":
       stadie_i_livet = "barn"


#Stadie i livet tennåring

if alder == "13":
   stadie_i_livet = "tennåring"
if alder == "14":
   stadie_i_livet = "tennåring"
if alder == "15":
   stadie_i_livet = "tennåring"
if alder == "16":
   stadie_i_livet = "tennåring"
if alder == "17":
   stadie_i_livet = "tennåring"
if alder == "18":
   stadie_i_livet = "tennåring"
if alder == "19":
   stadie_i_livet = "tennåring"

#Stadie i livet voksen
if alder == "20":
   stadie_i_livet = "voksen i 20 årene"
if alder == "21":
   stadie_i_livet = "voksen i 20 årene"
if alder == "22":
   stadie_i_livet = "voksen i 20 årene"
if alder == "23":
   stadie_i_livet = "voksen i 20 årene"
if alder == "24":
   stadie_i_livet = "voksen i 20 årene"
if alder == "25":
   stadie_i_livet = "voksen i 20 årene"
if alder == "26":
   stadie_i_livet = "voksen i 20 årene"
if alder == "27":
   stadie_i_livet = "voksen i 20 årene"
if alder == "28":
   stadie_i_livet = "voksen i 20 årene"
if alder == "29":
   stadie_i_livet = "voksen i 20 årene"

print(" Han er " + stadie_i_livet)
Sist endret av Xasma; 15. september 2019 kl. 13:44. Grunn: La til code tag
Et lite hint....

if alder > 1 and alder < 13:
stadie_i_livet = "barn"
Hvis du istedenfor å lagre alderen som en streng lagrer den som et heltall kan du bruke matematiske operasjoner for å teste om den er innen visse intervaller.

Måten du gjør det på er ved å konvertere outputen til input funksjonen til et heltall med int funksjonen.

Kode

alder = int(input ("Alder: "))
Deretter kan du gjøre slik som Sinken foreslo ved å teste om alder er høyere enn 1 og lavere enn 13 for eksempel.

Kode

if alder > 1 and alder < 13:
	stadie_i_livet = "barn"
For ryddighets skyld vil jeg anbefale deg å bruke else if statementsene etter den første ifen.

Kode

if alder==0:
	print("baby")
elif alder > 1 and alder < 13:
	stadie_i_livet = "barn"
# ...
Sist endret av ThinkpadX200; 15. september 2019 kl. 11:53.
NOOOOOOOOOOOOOOOOOO-
robhol's Avatar
Jeg ville laget en metode for dette.

Kode

def get_age_description(age):
  if age < 0:
    raise Exception
  if age < 2:
    return "baby"
  if age < 13:
    return "barn"
  # osv..

print(get_age_description(1))
print(get_age_description(5))