Re: Koodaaminen
Posted: 06 Sep 2024, 10:19

kirjotellut tällästä intel 8080 mikrotietokone simulaattoria
nyt pitäs ladata joku toinen disassembleri ja ettiä vertailemalla bugeja (esim. tuo db 31h epäilyttää) megän implementaatiosta
Neuvostoliitossa ei ollut tätäkään ongelmaa
https://www.punkinfinland.net/forum/
https://www.punkinfinland.net/forum/viewtopic.php?f=10&t=1045966

hashtag rikesakko wrote: ↑06 Sep 2024, 10:19
kirjotellut tällästä intel 8080 mikrotietokone simulaattoria
nyt pitäs ladata joku toinen disassembleri ja ettiä vertailemalla bugeja (esim. tuo db 31h epäilyttää) megän implementaatiosta
Code: Select all
Kokonaismassa kg €/päivä €/365 päivää
enintään 1 300 0,610 222,65
1 301–1 400 0,640 233,60
1 401–1 500 0,672 245,28
1 501–1 600 0,706 257,69
1 601–1 700 0,742 270,83
1 701–1 800 0,780 284,70
1 801–1 900 0,820 299,30
1 901–2 000 0,862 314,63
2 001–2 100 0,906 330,69
2 101–2 200 0,952 347,48
2 201–2 300 1,000 365,00
2 301–2 400 1,050 383,25
2 401–2 500 1,102 402,23
2 501–2 600 1,156 421,94
2 601–2 700 1,212 442,38
2 701–2 800 1,270 463,55
2 801–2 900 1,330 485,45
2 901–3 000 1,392 508,08
3 001–3 100 1,456 531,44
3 101–3 200 1,522 555,53
3 201–3 300 1,590 580,35
3 301–3 400 1,660 605,90
3 401 tai enemmän 1,732 632,18taulukkoon indeksoimalla:badger wrote: ↑08 Sep 2024, 12:57miten tekisitte tämmösen auton perusvero kokonaismassan mukaan funktion,
että ku syöttää painon niin se antaa veron per päivä
https://www.traficom.fi/fi/liikenne/aut ... n%20mukaanCode: Select all
Kokonaismassa kg €/päivä €/365 päivää enintään 1 300 0,610 222,65 1 301–1 400 0,640 233,60 1 401–1 500 0,672 245,28 1 501–1 600 0,706 257,69 1 601–1 700 0,742 270,83 1 701–1 800 0,780 284,70 1 801–1 900 0,820 299,30 1 901–2 000 0,862 314,63 2 001–2 100 0,906 330,69 2 101–2 200 0,952 347,48 2 201–2 300 1,000 365,00 2 301–2 400 1,050 383,25 2 401–2 500 1,102 402,23 2 501–2 600 1,156 421,94 2 601–2 700 1,212 442,38 2 701–2 800 1,270 463,55 2 801–2 900 1,330 485,45 2 901–3 000 1,392 508,08 3 001–3 100 1,456 531,44 3 101–3 200 1,522 555,53 3 201–3 300 1,590 580,35 3 301–3 400 1,660 605,90 3 401 tai enemmän 1,732 632,18
ei tällä mitään väliä ole ja tein jo ihan vaan kasan if lauseita, mutta kai tähän hienompikin tapa on, en vaan keksi mitään toimivaa![]()
Code: Select all
verotyms[0] = vitusti
verotyms[1] = vitusti+1
verotyms[2] = vitusti+2
painostaVerotaulukkoon (paino):
painoIndeksi = min(0, paino-1201)
painoIndeksi = painoIndeksi/100
jos painoIndeksi suurempi ku taulukon koko niin painoIndeksi taulukon koko
palauta verotyms[painoIndeksi]
Code: Select all
painostaveroihinTaulukko[0] = {alapaino: 0, yläpaino: 1300, verot: miljardi}
painostaveroihinTaulukko[1] = {alapaino: 1301, yläpaino: 1400, verot: triljoona}
painostaveroihinTaulukko[2] = {alapaino: 1401, yläpaino: 1501, verot: tsiljoona}
etsiVerot(paino):
for elementti in painostaveroihinTaulukko:
jos paino >= elementti.alapaino ja paino <= elementti.yläpaino
palauta elementti
Code: Select all
import bisect
massat = [0, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 3200, 3300, 3400]
verot = [0.610, 0.640, 0.672, 0.706, 0.742, 0.780, 0.820, 0.862, 0.906, 0.952, 1.000, 1.050, 1.102, 1.156, 1.212, 1.270, 1.330, 1.392, 1.456, 1.522, 1.590, 1.660, 1.732]
def verolaskuri():
kokonaismassa = int(input('Anna auton kokonaismassa: '))
pos = bisect.bisect_left(massat, kokonaismassa)
if kokonaismassa < 1:
print("Onko sulla edes autoa?")
else:
value = verot[pos-1]
print(f"Perusvero kokonaismassan mukaan on {value}€ päivässä.")
verolaskuri()Code: Select all
const tax = [0.610, 0.640, 0.672, 0.706, 0.742, 0.780, 0.820, 0.862, 0.906, 0.952, 1.000, 1.050, 1.102, 1.156, 1.212, 1.270, 1.330, 1.392, 1.456, 1.522, 1.590, 1.660, 1.732]
const getIntervalIndex = weight => {
return Math.max(0, Math.floor((weight - 1301) / 100) + 1);
}
const getTax = weight => {
const i = getIntervalIndex(weight);
return (i < tax.length
? tax[i]
: tax[tax.length - 1]
);
}Code: Select all
for i,v in enumerate(verot):
print(f'{verot[i+1]} - {verot[i]} = {round(verot[i+1]-verot[i], 3)}')
0.64 - 0.61 = 0.03
0.672 - 0.64 = 0.032
0.706 - 0.672 = 0.034
0.742 - 0.706 = 0.036
0.78 - 0.742 = 0.038
0.82 - 0.78 = 0.04
0.862 - 0.82 = 0.042
0.906 - 0.862 = 0.044
0.952 - 0.906 = 0.046
1.0 - 0.952 = 0.048
1.05 - 1.0 = 0.05
1.102 - 1.05 = 0.052
1.156 - 1.102 = 0.054
1.212 - 1.156 = 0.056
1.27 - 1.212 = 0.058
1.33 - 1.27 = 0.06
1.392 - 1.33 = 0.062
1.456 - 1.392 = 0.064
1.522 - 1.456 = 0.066
1.59 - 1.522 = 0.068
1.66 - 1.59 = 0.07
1.732 - 1.66 = 0.072Coolhashtag rikesakko wrote: ↑06 Sep 2024, 10:19
kirjotellut tällästä intel 8080 mikrotietokone simulaattoria
nyt pitäs ladata joku toinen disassembleri ja ettiä vertailemalla bugeja (esim. tuo db 31h epäilyttää) megän implementaatiosta
Kyllä, aina pl. tosiaan joku kertakäyttökoodi. Ite suosittelen kyllä lämpimästi opetelemaan test driven development lähestymistapaa. Testit eka, tulee ensinnäkin tehtyä niitä testejä, testeistä tulee parempia ja koodistakin tulee takuulla parempaa kun sitä voi refaktoroida huoletta.satanismista kiinnostunut nudisti wrote: ↑09 Sep 2024, 08:21Oletteko käyttäneet/kokeilleet yksikkötestausta? Tollaisen algoritmin testaus onnistuu ja voi askarrella useamman version ratkaisuksi ja kaikkien pitäisi toimia suht samalla tavalla. Virhetilanteiden käsittelyyn hyvä homma myös.
Kaikkeen ei TDD välttämättä sovi, mutta noin yleisesti komp. Jos on joku muutos/lisäys olemassaolevaan featureen tai bugifiksi, niin itse yleensä päivitän ensin testit ottamaan halutun lopputuloksen huomioon ja vasta sit lähden muokkaamaan koodia.Tuulipuku wrote: ↑09 Sep 2024, 12:01Kyllä, aina pl. tosiaan joku kertakäyttökoodi. Ite suosittelen kyllä lämpimästi opetelemaan test driven development lähestymistapaa. Testit eka, tulee ensinnäkin tehtyä niitä testejä, testeistä tulee parempia ja koodistakin tulee takuulla parempaa kun sitä voi refaktoroida huoletta.satanismista kiinnostunut nudisti wrote: ↑09 Sep 2024, 08:21Oletteko käyttäneet/kokeilleet yksikkötestausta? Tollaisen algoritmin testaus onnistuu ja voi askarrella useamman version ratkaisuksi ja kaikkien pitäisi toimia suht samalla tavalla. Virhetilanteiden käsittelyyn hyvä homma myös.