Vinnaren i pepparkakshustävlingen!
  • 1
  • 2
2023-01-05, 09:18
  #13
Medlem
Citat:
Ursprungligen postat av Enterprise
Den ovanstående kommentaren är tämligen meningslös.
Om du ska kommentera för att visa att du förstår vad koden gör, så ange vad syftet är med kodsnutten:
Kod:
if len(lookup_list["m"]):

Förklara för läraren varför du har en sådan, till synes förvirrande (men korrekt), if-sats!

Fick ett B i betyget på detta idag när jag bara kände igår fuck it jag skickar bara in nu, men kommentaren att jag hade kommenterat så som han önskade så det var ju över förväntan då jag tycker jag skrivit detta på en riktig dålig nivå.
Men det är bara buga och tacka.

Tack för feedback uppskattas!
God fortsättning
Citera
2023-01-05, 12:04
  #14
Medlem
En liten slarvig kod på hur man kan göra med lite mer tydligare gränssnitt.
Det som är tillagt i koden är enbart användning av en dataklass och typehints. Några saker som TS bör lära sig snabbt.

Kod:
from dataclasses import dataclass
from statistics import mean
from typing import Tuple

@dataclass
class Person:
    name: str
    gender: int
    age: int
 

def inps () -> Tuple[str,str, int]:
    """
    This is a recursive loop to handle the user input mechanic.
  
    """
    inp_name = input("Enter name or Quit to quit: ").lower()
    if inp_name in ['q','quit']:
        exit(1)

    inp_gender = input("Enter gender (M / F) or Q to quit: ").lower()
    if inp_gender in ['q','quit']:    #Need to have to check for quit to work
        exit(1)

    inp_age = input("Enter age or Q to quit: ").lower()
    if inp_age in ['q','quit']:    #Need to have to check for quit to work
        exit(1)

       
    if not inp_gender in ['m','f', 'male','female']:
        print('Your inputs is not in correct format, please input again')
        inp_name, inp_gender, inp_age = inps()

    return inp_name, inp_gender, int(inp_age)


def run():
    persons:Person = list()
    while True:
    
        inp = inps()        
        persons.append(Person(*inp))    

        finnished = input("Are you finnished (Y/N): ").lower()

        #check if user is finnished, the check only answers to "n" och "no", 
        # otherwise it runt the following code
        if finnished in ['n','no']:   
            continue


        g=['male','m']
        print("Male mean age:", mean([person.age for person in persons if person.gender in g]))
        print("Male mean age:", mean([person.age for person in persons if not person.gender in g]))
        
        break
        
            

if __name__ =="__main__":
    run()
Citera
  • 1
  • 2

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback