Vinnaren i pepparkakshustävlingen!
  • 1
  • 2
2022-08-17, 14:20
  #1
Medlem
DontWantWars avatar
Ja det här var fan inga enkla uppgifter, iaf inte för mig med tanke på förutsättningarna jag har haft.
Läser kursen på distans i 100% takt, skolan har 0 föreläsningar och har aldrig tidigare gått igenom något liknande exempel på uppgift/projekt... kursen skulle vara 5 veckor men är snarare 3,5v i något som jag aldrig pluggat tidigare xD. Nog om mitt personliga klagande, vill enbart att ni ska veta lite kring min situation.

Projekt/Uppgift 1:

Skriv ett program som läser in uppgifter om ett antal personer, och beräknar genomsnittsåldern för kvinnor respektive män i gruppen.

Du ska arbeta med while-loop och if-satser. Det kan vara bra att arbeta med uppslagslista i Python. Sedan dokumenterar din lösning i ett dokument som ska infoga med kommenterad kod.

---------------------------------------------------------------------------------------------------- -
Uppgift / Projekt 2:

Introduktion

För fysiska personer betalas inkomstskatt till både stat och kommun.

Den kommunala inkomstskatten är i huvudsak proportionerlig, medan den statliga inkomstskatten har progressiva inslag, det vill säga procentsatsen ökar med ökande inkomst. Vid den första, nedre, skiktgränsen* börjar statlig inkomstskatt tas ut med 20%. Vid den andra, övre skiktgränsen tillkommer ytterligare 5% statlig skatt, ofta kallad värnskatt, vilket ger en total statlig inkomstskatt på 25% på alla inkomster över den övre skiktgränsen.

Skiktgränserna är baserade på den taxerade inkomsten minskad med grundavdrag, det vill säga den beskattningsbara förvärvsinkomsten.

För inkomståret 2017 finns det två skiktgränser*. Den nedre skiktgränsen är 438 900 kronor. På inkomster över denna gräns tas statlig inkomstskatt ut med 20 procent. Den övre skiktgränsen är 638 500 kronor. På inkomster över denna gräns tas statlig inkomstskatt ut med ytterligare 5 procentenheter (den så kallade värnskatten), det vill säga sammanlagt 25 procent.

Hur stort är grundavdraget?

För inkomståret 2017 är grundavdraget vid beräkning av kommunal och statlig skatt lägst 13 200 kronor och högst 34 500 kronor. Vid låga inkomster är grundavdraget lägst 19 000 kronor.

*Skiktgränsen = den taxerade inkomsten minskad med grundavdrag, det vill säga beskattningsbar förvärvsinkomst.

Uppgiften:


*Skapa ett program som beräknar en persons statliga inkomstskatt.

*Läs in årsinkomsten i programmet och beräkna skatten.

*För att underlätta beräkningen använd det lägsta grundavdraget (13100kr).

*OBS! Om årsinkomsten är mindre än den nedre skiktgränsen så behöver man inte betala statlig inkomstskatt.

*Programmet ska fråga, och kunna beräkna, om fler skatter ska beräknas innan det avslutas.


Du ska arbeta med Loop och if villkor

Koden måste vara väldokumenterad, kommentera din kod och berätta hur du löst uppgiften


---------------------------------------------------------------------------------------------------- ---------

För mig känns detta iaf som jävligt overkill för någon som precis börjat med Python för ca 2,5 v sen utan någon som helst vägledning förutom läroboken.. och då har majoriteten av tiden spenderats på att lära sig de absoluta grunderna!!
Citera
2022-08-17, 14:29
  #2
Medlem
Bananboxens avatar
Tycker det ser ut som uppgifter som lämpar sig för nybörjare. Du får väl anstränga dig som alla andra som läser kursen?
Citera
2022-08-17, 14:33
  #3
Medlem
WhoreOfBabylons avatar
Köper verkligen att detta är lite overklill om allt TS säger stämmer
Citera
2022-08-17, 14:38
  #4
Medlem
maxatdunders avatar
Det rör sig om kanske 6 rader, du menar alltså att 3 veckor på 6 rader är overkill?

120 timmar på 6 rader kod, overkill?
Citera
2022-08-17, 14:39
  #5
Medlem
DontWantWars avatar
Citat:
Ursprungligen postat av Bananboxen
Tycker det ser ut som uppgifter som lämpar sig för nybörjare. Du får väl anstränga dig som alla andra som läser kursen?

Okej hade du klarat av båda uppgifter? Från scratch dvs utan 0 tidigare kunskap inom området, utan någon lärare eller ngn annan du kan bolla med och enbart en lärobok? Allt Detta under 2,5v tid. Om ja, grattis till dig. Jag klara iaf inte av det.
Citera
2022-08-17, 14:41
  #6
Medlem
DontWantWars avatar
Citat:
Ursprungligen postat av maxatdunder
Det rör sig om kanske 6 rader, du menar alltså att 3 veckor på 6 rader är overkill?

120 timmar på 6 rader kod, overkill?

Du får förklara tydligare är det 6 rader på första, andra eller båda projekten tillsammans?
Citera
2022-08-17, 14:45
  #7
Medlem
maxatdunders avatar
Citat:
Ursprungligen postat av DontWantWar
Du får förklara tydligare är det 6 rader på första, andra eller båda projekten tillsammans?

Båda uppgifterna går att skriva under 6 rader

Du ska bara skriva in matematiska formlar och printa ut det. t.ex kön variabel a * variabel b / 2 = genomsnitt ålder = skriv ut genomsnitt ålder
Citera
2022-08-17, 14:50
  #8
Medlem
Milldues avatar
Citat:
Ursprungligen postat av maxatdunder
Båda uppgifterna går att skriva under 6 rader

Du ska bara skriva in matematiska formlar och printa ut det. t.ex kön variabel a * variabel b / 2 = genomsnitt ålder = skriv ut genomsnitt ålder

Tja fråga är vad "läser in" skall betyda. Finns det redan en fil med dessa uppgifter

Då skall filen läsas in och lagras

Kan också betyda att någon skall mata in uppgifterna med tangentbordet och svara på frågorna där sedan svaren skall lagras och behandlas.

Lite otydligt som jag ser det. Även "ett antal personer" hur många till "end of file" om det är en fil
skall informationen matas in via tangentbordet så får man skriva programsnutten så att den som matar in kan välja att avsluta efter x antal personer. (Do While)
__________________
Senast redigerad av Milldue 2022-08-17 kl. 14:52.
Citera
2022-08-17, 15:03
  #9
Medlem
JohannesSnajdares avatar
Citat:
Ursprungligen postat av DontWantWar
...
För mig känns detta iaf som jävligt overkill för någon som precis börjat med Python för ca 2,5 v sen utan någon som helst vägledning förutom läroboken.. och då har majoriteten av tiden spenderats på att lära sig de absoluta grunderna!!

Låt mig gissa att du inte spenderat tiden på att lära dig de absoluta grunderna under majoriteten av tiden under dessa 2,5v??

För det här är verkligen absoluta grundnivå.
Men ok, jag bjussar på en för att få igång dig, vassego:

Kod:
from statistics import mean

lookup_list = {
    "m": [],
    "f": []
}

while True:

    sex = input("Knappa in kön (M / F) eller Q för att sluta: ").lower()

    if sex == "q":
        break

    if not sex in lookup_list:
        continue

    age = int(input("Knappa in ålder: "))

    lookup_list[sex].append(age)

if len(lookup_list["m"]):
    print("Medelålder för män är: %0.1f" % mean(lookup_list["m"]))

if len(lookup_list["f"]):
    print("Medelålder för kvinnor är: %0.1f" % mean(lookup_list["f"]))
Citera
2022-08-17, 16:58
  #10
Medlem
Tänk om det blir svårare uppgifter sen?
Jag kan ingenting om python men det där verkar inte svårt kolla på Youtube om det finns ledtrådar, jag brukar kunna hitta allt på Youtube.
Citera
2022-08-17, 17:09
  #11
Medlem
Kluffs avatar
Ett hett tips är att googla (är absolut inte dryg, utan sökmotorer är en guldgruva för programmeringsrelaterade grejer), och lägga till sökorden "stack overflow". Stack Overflow är en grymt bra plattform för frågor och svar gällande programmering.

Min kompis som är någon sorts programmeringsarkitekt på sin arbetsplats, dvs är grymt kunnig, säger att söka lösningar på t.ex. Stack Overflow är mycket vanligt även bland erfarna programmerare.

Ett till tips i allmänhet för att lära sig är att ta sig an uppgifter som är över ens kunskapsnivå. Sidan Project Euler är ett mycket bra exempel:
Citat:
Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and programming skills will be required to solve most problems.

The motivation for starting Project Euler, and its continuation, is to provide a platform for the inquiring mind to delve into unfamiliar areas and learn new concepts in a fun and recreational context.

Det är helt enkelt problemlösning som man ska lösa med valfritt programmeringsspråk; en uppgift kan vara, typ "gör ett program som adderar summan av alla primtal under två miljoner". Jag löste den någon gång, men det tog evigheter för programmet att addera allt. Sen hittade jag en bättre lösning på nätet som löste skiten på ett ögonblick, och var mycket mer elegant skriven - betydligt färre rader kod också.

Hur ska man testa om ett tal är ett primtal eller ej? Hur ska man eliminera alla icke-primtal? Hur ska man addera flera tal i en följd? Vilken loop är bäst för vilket ändamål? Oj, vad är rekursiva funktioner för något? ungefär. Att tvingas söka lösningar kan göra att man lär sig mer och bättre!
__________________
Senast redigerad av Kluff 2022-08-17 kl. 17:37.
Citera
2022-08-17, 17:09
  #12
Medlem
Egentligen är det dumt att direkt hoppa på en färdig kodlösning. Du måste analysera och förstå frågan.

Skriv ner vad du egentligen ska göra.

Typ

Läs in antal personer du ska mata in.

Läs in personens kön och ålder.

...

Sedan när du känner du förstått vad du ska koda börjar du koda och ta reda på detaljer vilken pythonkod du ska använda dig av. Det är alltid lättare att hitta informationen om du ser problemet uppstyckat enligt ovan.

Efter ett tag sitter du därmed 10-15 rader kod som fungerar och förstår precis vad du gjort.

Nu blir det lite lättare börja på nästa uppgift.
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