Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Python ja palindromikone

Sivun loppuun

Jere Sumell [06.06.2021 10:24:07]

#

Liittyy osittain myos tuohon eilen täällä putkassa julkaistuun merkkijonon kääntämiseen, kun mainitsin tuon palindromikoneen tuossa omassa vastauksessani.

def kaanna(sana):
	return sana[::-1]

def tarkista(mjono):
    if mjono == kaanna(mjono):
        return True;
    return False;

st = "foo"
while (st != ""):
    st = input("Keksi palindromi: ")
    if (tarkista(st) and st != ""):
        print("Hienoa! Keksit juuri palindromin!")
        continue
    else:
        print ("Kyseessä ei ole palindromi! Yritä uudelleen!")
print ("Hei hei!")

Ihmettelen, miksi Pythonin kehittäjäyhteiso ei ole tuota input-metodia implementoinut kieleen siten, että voisi jos tuon käyttäjän syotteen kysyy while silmukan ehdossa, että jos olisi vaikka toinen syoteparametrina input-metodissa tallentaa johonkin muuttujaan sen syotteen, niin ei tarvitsisi toista kertaa tuota inputtia kysyä.

Metkaa, että havaitsin vasta tänä aamuna, että pythonista puuttuu do-while -toistorakenne, joka olisi omiaan että ainakin yhden kerran toistetaan, niin sittenhän sitä ei tarvitsisi kysyä kuin kerran.

pitäisi varmaan ottaa yhteyttää sähkopostilla pythonin kehittäjäyhteisoon ja kysyä asiasta, jollei täältä putkasta loydy järkevää selitystä, tai mahdollisesti jotain kiertotietä.

Tuossa nyt on aika paljon uudelleenkäytettäviä moduuleita, ja modulaarisuus toteutuu, mutta tuo hämää, kun toisen kerran pitäisi varmaan kysyä sitä käyttäjän syotettä, niin jotenkin pitäisi vekslata, että se toisen kerran toistaminen poistuisi, vaikka se on toistoa, se ei ole turhaa toistoa.

Tuo syotteen tallennus suoraan tuossa inpututissa omaan muuttujaansa olisi käytännollinen seuraavassa tilanteessa:

def kaanna(sana):
	return sana[::-1]

def tarkista(mjono):
    if mjono == kaanna(mjono):
        return True;
    return False;

while (input("Keksi palindromi: ") != ""):

    if (tarkista(st) and st != ""):
        print("Hienoa! Keksit juuri palindromin!")
        continue
    else:
        print ("Kyseessä ei ole palindromi! Yritä uudelleen!")
print ("Hei hei!")

Tuohon olisi niin kivaa tuo while-lauseke toteuttaa

while (input("Keksi palindromi: ",st) != ""):

jalski [06.06.2021 11:28:27]

#

Mielestäni tarkastuksen siirtäminen while-loopin ehtoon ei tee koodista yhtään luettavampaa. Mikset vaan tekisi jotenkin:

def kaanna(sana):
	return sana[::-1]

def tarkista(mjono):
    return mjono == kaanna(mjono);

while True:
    st = input("Keksi palindromi: ")
    if (tarkista(st) and st != ""):
        print("Hienoa! Keksit juuri palindromin!")
        break
    else:
        print ("Kyseessä ei ole palindromi! Yritä uudelleen!")

print ("Hei hei!")

Jere Sumell [06.06.2021 11:41:41]

#

jalski kirjoitti:

Mielestäni tarkastuksen siirtäminen while-loopin ehtoon ei tee koodista yhtään luettavampaa. Mikset vaan tekisi jotenkin:

No joo, tuo while True: tietenkin poistaa tuon ongelmani jollain tapaa, hienoa, että esitit asian.

Tuossa vaan tuo, että ohjelman suoritus päättyy tuon breakin jälkeen heti ensimmäisen palindromin loytymisen jälkeen, ja jos tuon breakin korvaa continuella, niin silmukan toisto jatkuu, mutta ohjelman suoritus ei pääty koskaan kunnialla ilman käyttäjän väkivaltaista pakotusta CTRL-C -näppäinyhdistelmällä esimerkiksi.

En tiedä, kun en ole selvittänyt, varmaan hakukoneella jos katsoo tuosta do-while python -hakutermillä, niin varmaan paljonkin keskustelua tuosta onko jotain kiertoilmaisua määritellä pythonissa toistorakennetta, että suoritetaan ainakin yhden kerran aina siihen pisteeseen asti, että lopetusehto tarkistetaan vasta ensimmäisen suorituskerran jälkeen siihen asti, kun silmukasta ulostulo tapahtuisi lopetusehdon arvon ollessa tosi suorituksen jatkuttua seuraavalta koodiriviltä heti silmukkarakenteen jälkeen, tässä tapauksessa tulostaisi jäähyväistervehdyksen käyttäjälle, jolloin ohjelman suoritus päättyisi asianmukaisesti.

Jere Sumell [06.06.2021 12:08:48]

#

Siinä pitäisi poistaa tuo and st !="" ja luoda uusi ehtolause, jossa breakilla poistutaan silmukasta, niin sittenhän ohjelman suoritus päättyy asianmukaisesti käyttäjän komennosta tämän syottäessään tyhjän merkkijonon, enterillä rivinvaihdolla.

def kaanna(sana):
	return sana[::-1]

def tarkista(mjono):
    return mjono == kaanna(mjono);

while True:
    st = input("Keksi palindromi: ")
    if (st == ""):
        break;

    if (tarkista(st)):

        print("Hienoa! Keksit juuri palindromin!")
        continue
    else:
        print ("Kyseessä ei ole palindromi! Yritä uudelleen!")

print ("Hei hei!")

Sitten jos lokalisoituna ajattelee suomen kielen kautta tuota Palindromin metsästystä, niin Pitäisi vielä olla ehdossa tarkistaa, että merkkijono on suuremPi kuin 1 merkkiä Pitkä.

def kaanna(sana):
	return sana[::-1]

def tarkista(mjono):
    return mjono == kaanna(mjono);

while True:
    st = input("Keksi palindromi: ")
    if (st == ""):
        break;

    if (len(st) >2 and tarkista(st)):

        print("Hienoa! Keksit juuri palindromin!")
        continue
    else:
        print ("Kyseessä ei ole palindromi tai merkkijono on liian lyhyt! Yritä uudelleen!")

print ("Hei hei!")

Nyt siinä alkaa olemaan jonkinlainen palindromikone kasassa, josta pääsee käyttäjän komennolla myos ohjelman päättämään asianmukaisesti.

Muokkaus:

Tuo continuekin nyt turha tuossa. Tässä lopullinen esitykseni toimivasta palindromikoneesta pythonilla:

def kaanna(sana):
	return sana[::-1]

def tarkista(mjono):
    return mjono == kaanna(mjono);

while True:
    st = input("Keksi palindromi: ")
    if (st == ""):
        break;

    if (len(st) >1 and tarkista(st)):

        print("Hienoa! Keksit juuri palindromin!")

    else:
        print ("Kyseessä ei ole palindromi tai se ei ole kelvollinen sana! Yritä uudelleen!")

print ("Hei hei!")

Muokkaus 2 vielä:

Nyt tämäkään ei huomioi jos käyttäjä syöttää tyhjiä välilyöntejä tai isoja kirjaimia väliin, eli esittämäni ohjelma ei ole robusti.

En tiedä, ratkaisiiko tällainen metodi ja sen kutsu jossain vaiheessa tuon ongelman

def operoiMjono(mjono):
	mjono.strip()
	mjono.lower()
	return mjono;

Nyt kuitenkin jos tuota viimeisintä lisäämääni huomiota ei noteerata, niin top-down -lähestymistavalla koodin modulaarisuus toteutuu, uudelleenkäytettävyysaste on korkea, ja code redudancy, toiston vähentäminen on maksimissa, en tiedä, kun en ole koskaan nähnyt tuota ohjelmointikirjallisuudessa esiintyvää code redudancy suomeksi, voiko siitä puhua ihan koodin redudanssista, mikä on yksi niitä ohjelmoinnin teoriassa lähdekoodin ohjelmoinnin perusteita, koodin toiston vähentäminen.

jalski [06.06.2021 19:25:58]

#

Itse Pythonia osaamattomana kirjoittaisin palindromitarkastuksen varmaankin jotenkin:

def palindromi(sana):
  if len(sana) < 1:
    return False

  for i in range(0, len(sana)):
    if sana[i] != sana[-i - 1]:
      return False
  return True

Jere Sumell [08.06.2021 07:48:01]

#

jalski kirjoitti:

Itse Pythonia osaamattomana kirjoittaisin palindromitarkastuksen varmaankin jotenkin:

def palindromi(sana):
  if len(sana) < 1:
    return False

  for i in range(0, len(sana)):
    if sana[i] != sana[-i - 1]:
      return False
  return True

Hieno ratkaisuhan tuokin on! Aikavaativuutena silmääni äkkiseltään voisin sanoa, että lineaarinen.

palindromikoneella nettisovelluksena verkossa voisi olla jotain kysyntää ehkä, mutta kaupallisuusarvo, miten sillä tekee bisnestä, on vähän niin ja näin jos poissulkee mainostulot, kun palindromidatalla ole juuri myyntiarvoa.

On itsellänikin käynyt mielessä, jos ohjelmoisi verkkopalveluksi asti palindromikoneen, jossa käyttäjät voisivat rekata oman nimimerkin sinne, ja sitten lisäillä noita palindromeja, ja jos panostaisi verkkosovellus-ohjelmoinnissa lomakkeiden ja muunkin sovelluksen osa-alueiden osalta turvallisuuteen, niin siitä voisi saada mielekkään harrastusprojektin, mutta tosiaan vaikea keksiä, miten sillä voisi bisnestä tehdä jos poissulkee mainostulot.

Lähinnä tämä palindromikone jollain ohjelmointikielellä toimii ihan mielekkäänä ohjelmointiharjoituksena, varmaan jokainen ohjelmoija joskus miettinyt ajan kuluksi tätäkin minä ja me muut muiden lisäksi.

The Alchemist [08.06.2021 10:51:33]

#

Jere Sumell kirjoitti:

Hieno ratkaisuhan tuokin on! Aikavaativuutena silmääni äkkiseltään voisin sanoa, että lineaarinen.

Aika huono ratkaisu, kun palindromitarkistus tehdään aina kahteen kertaan vaikka yksikin riittäisi. Ja eivätköhän kaikki tällaiset Algot ole O(n).

jalski [08.06.2021 12:15:24]

#

The Alchemist kirjoitti:

Jere Sumell kirjoitti:

Hieno ratkaisuhan tuokin on! Aikavaativuutena silmääni äkkiseltään voisin sanoa, että lineaarinen.

Aika huono ratkaisu, kun palindromitarkistus tehdään aina kahteen kertaan vaikka yksikin riittäisi. Ja eivätköhän kaikki tällaiset Algot ole O(n).

Kuinka niin kahteen kertaan? Tuossahan vertaillaan merkkejä molemmista päistä merkkijonoa.

Grez [08.06.2021 13:09:52]

#

jalski kirjoitti:

Kuinka niin kahteen kertaan? Tuossahan vertaillaan merkkejä molemmista päistä merkkijonoa.

Tehdäänkö tässä sinusta vertailu kerran vai kahdesti?

(a == b) && (b == a)

Vanutyyny [08.06.2021 14:00:20]

#

Suomen kielessä ei taida olla yhden kirjaimen sanoja? Joku paikan nimi? II:kin kirjoitetaan kahdella iillä.
Entä, jos tekisit tuohon oman iffin,

if (len(st) == 1:
        print("Palindromi tarkoittaa sanaa.")

No nää on näitä.. :9

jalski [08.06.2021 14:33:34]

#

Grez kirjoitti:

jalski kirjoitti:

Kuinka niin kahteen kertaan? Tuossahan vertaillaan merkkejä molemmista päistä merkkijonoa.

Tehdäänkö tässä sinusta vertailu kerran vai kahdesti?

(a == b) && (b == a)

No, tuota voisi järkeistää, mutta eihän tuo nyt kuitenkaan aina kaikkea kahteen kertaan läpi käy. Suurin osa tarkastettavista sanoista nyt tuskin kuitenkaan on palindromeja?

def palindromi(sana):
  if len(sana) < 1:
    return False

  for i in range(0, len(sana) // 2):
    if sana[i] != sana[-i - 1]:
      return False
  return True

Metabolix [08.06.2021 15:56:33]

#

Jere Sumell kirjoitti:

Ihmettelen, miksi Pythonin kehittäjäyhteiso ei ole tuota input-metodia implementoinut kieleen siten, että voisi jos tuon käyttäjän syotteen kysyy while silmukan ehdossa, että jos olisi vaikka toinen syoteparametrina input-metodissa tallentaa johonkin muuttujaan sen syotteen, niin ei tarvitsisi toista kertaa tuota inputtia kysyä.

Alkuperäiseen kysymykseen: Pythonissa ei ole osoittimia tai viittauksia, joten f(x) ei voi missään tilanteessa sijoittaa tulosta suoraan x:ään. (Sitä voi kylläkin muokata, jos se on esimerkiksi lista tai muu olio.) Olisi tarpeeton, yllättävä ja monimutkainen poikkeus, että juuri input-funktiolle toteutettaisiin poikkeus. Asiaa joutuisi myös oppaissa selittelemään, ja toisaalta mitään oikeaa hyötyä siitä ei olisi. Oikeissa (ei harjoituksena tehtävissä) ohjelmissa input esiintyy harvoin ja erityisen harvoin juuri tuossa muodossa, jossa ominaisuudella voisi säästää 1-2 riviä koodia.

Jere Sumell [09.06.2021 08:04:32]

#

palaan vielä tuohon bisneksen tekoon tällä palindromikoneella.

Järkevin tapa ohjelmistoyrityksen bisnesnäkokulmasta, että valmistaa tilauksesta jonkin sovelluksen asiakkaalle ja luovuttaa kaikki lähdekoodin immateriaalioikeudet asiakkaalle ja laskuttaa järjestelmästä jonkun tonnin ja mahdollisesti ylläpidosta.

päädyin bisnesjalalle ja lähdin haistelemaan Sanaseppojen suuntaan ja Ekille pistin tarjouksen menemään sähkopostilla myyden palindromirengin tyylistä palvelua, ainut yritys varmaan Suomessa tuo Sanaris Oy, joka saattaisi olla kiinnostunut tämän kaltaisesta palvelusta, niillähän on joskus ollut tuo ristikkorenki palveluportfoliossa.

Metabolix [09.06.2021 08:59:01]

#

Jos saat tehtyä tonnin tai edes parisataa myymällä tuon palindromikoneen, palkkaan sinut manageriksi ja aletaan tehdä bisnestä tosissaan. Voin koodata tilauksesta tällaisia pätkiä ilman bugeja ja saat niistä alkuun vaikka 20 prosentin provikat tai miten sovitaan.

Grez [09.06.2021 10:48:14]

#

Mä sanoisin että 20% provikka verrannollisesti "hiekan myymisestä Saharassa" on kyllä aika törkeä ehdotus.

Jere Sumell [09.06.2021 18:39:12]

#

Metabolix kirjoitti:

Jos saat tehtyä tonnin tai edes parisataa myymällä tuon palindromikoneen, palkkaan sinut manageriksi ja aletaan tehdä bisnestä tosissaan.

Olen kuullut ja varmaan kaikki täällä palstalla muutkin ovat kuulleet Huittisten suunnalta tulevista Huittisten hulluista myyntimiehistä, mutta on täällä meillä Turussakin myyntimiehen vikaa omaavia persoonallisuuksia minä muiden muassa.

Kauppahan se on mikä kannattaa, ja vanha viisaus, että eihän se tyhmä ole joka pyytää, vaan se todennäköisemmin, joka maksaa. Myyjä määrittelee hinnan, ja asiakas tekee ihan itse sen päätöksen, ostaako tuotteen, ja kaupat syntyy siinä kohtaa kun ostajan ja myyjän hinta kohtaa toisensa.

Kyllä hinnan määrittelin nelinumeroiseksi euroissa mitattuna, vaikka sekin on mielestäni alakanttiin. Ainakaan mitään ei menetä, kun avaa pelin ja kauppaneuvottelut, pitää luoda painetta asiakkaan suuntaan, jos aikoo jotain myydä ja seistä oman tuotteensa takana, ainakaan mitään kauppaa ei saa aikaan, jos ei ole oma-alotteisesti liikkeelle lähdössä.

Myyntihommia sen verran tehnyt kuitenkin provisiopalkalla eniten uusasiakashankintaa, että kyllä myyntihommissa täytyy vähän kieroutunutta myyntimiehen psykologiaa käyttää ja olla tilanteen tasalla ja tajuta kauppakumppanin piilotajuntaa.En nyt erityisesti pidä myyntityöstä, enkä hae päätoimisesti myyntityötä lähinnä provisiopalkkauksen tähden, ja se riippuu vähän myyntiartikkelistakin.

Olen kuullut sanottavan, että aito myyntimies myy vaikka eskimoille jäätä.

Saa nyt nähdä, kun juhannus, eli Suomen Suven Jussi on ihan ovella, niin tuppaa kesälomat olemaan firmoissa päällä, ja vielä tämä Korona-aika varmaan rajoitetummin yrityksissä luetaan sähköposteja tai vastaillaan niihin verkkaisemmin, niin saa nähdä, tuleeko tuolta mitään vastausta, voin raportoida sitten miten käy.

Kyllähän tuossa luonnos Word-dokumenttina jo myyntisopimuksesta on valmiina.

jlaire [09.06.2021 23:05:05]

#

Jere Sumell kirjoitti:

Kyllä hinnan määrittelin nelinumeroiseksi euroissa mitattuna, vaikka sekin on mielestäni alakanttiin.

Montako tuntia palindromikoneen koodaus mielestäsi vaatii?

Jere Sumell [10.06.2021 06:03:01]

#

jlaire kirjoitti:

Jere Sumell kirjoitti:

Kyllä hinnan määrittelin nelinumeroiseksi euroissa mitattuna, vaikka sekin on mielestäni alakanttiin.

Montako tuntia palindromikoneen koodaus mielestäsi vaatii?

Kaikkien yritysten päätoiminta.ajatus on tuottaa mahdollisimman suurella sijoitetun pääoman tuotoprosentilla osakkaille ja omstajille voittoa toimi-alasta riippumatta, ja tuotteen hinnoitteluun vaikuttaa moni muukin asia, kuin pelkkä työtuntimäärä.

Okei, jos toiminimellä ohjelmoi niin saattaa ehkä riittää, että laskuttaa 60-65 euroa tunnista pelkästä työpanoksesta, kun maksaa rehellisesti verot toiminnasta Suomeen.

Kyllähän tuosakin kun alunperin konsultoin lakimiestä tuosta myyntisopimuksen laatimisesta tyhjästä, niin se maksoi jotain, ja kirjanpito ja laskutus ulkoistettuna, ne maksaa jotain, YEL-vakuutus on ongelmallinen, kun se on kallis ja siitäkin kulut juoksee koko ajan.

Olen nyt pari vuotta ollut vasemmistoliiton pienyrittäjätyöryhmässä ja perehtynyt aika paljon pienten yritysten asioihin, niin on totta, että valta-osa pienyrittäjistä elää todella pienillä tuloilla, ja sitten yrittäjä päätyy nälkäpalkka-tuloihin, kun ei ymmärretä tuotteen hinnoittelua, ja mahdollisesti asiakashankinnassa mättää jotain. Mainitsin myös, että YEL-vakuutus on ongelmallinen, kun yrittäjät pitävät sitä jokseenkin kalliina ja kysymys onkin se, saako siinä vakuutuksessa rahoille vastaavaa vastinetta, niin sekin kaipaisi jotain uudistusta.

Se on totta, että yritysmaailmassa on niin paljon mitä ihmeempiä toimijoita, ja on sitä laskutettu viisinumeroisia summia yhden lauseen konsultointiraportistakin, niin on totta, että jos lähtee yksityisyrittäjäksi, ja vaikka toiminta olisi läpinäkyvää ja rehellistä ja maksaa kaikki verot Suomeen, niin lopulta on taivas kattona, paljonko voi ansaita.

En ole tällä hetkellä aktiivinen yrittäjä kaupparekisterissä, mutta olen suunnitellut uuden yrityksen perustamista. Kylä nyt ohjelmien valmistus toimialana niin paras on, että laskuttaa järkevällä tavalla sievoisen summan itse ohjelmasta, ja sitten passiiviset tulot tulee siitä, kun laskuttaa ylläpidosta.

Metabolix [12.06.2021 14:59:53]

#

Jere Sumell kirjoitti:

Kyllähän tuosakin kun alunperin konsultoin lakimiestä tuosta myyntisopimuksen laatimisesta tyhjästä, niin se maksoi jotain, ja kirjanpito ja laskutus ulkoistettuna, ne maksaa jotain, YEL-vakuutus on ongelmallinen, kun se on kallis ja siitäkin kulut juoksee koko ajan.

Myyntisopimuksesta ei tarvitse konsultoida lakimiestä. Varmasti palindromikoneen tasoisen koodinpätkän voi myydä ihan sellaisenaan.

Kirjanpito ja laskutus maksavat kevytyrittäjäpalveluissa esimerkiksi 5 % laskun summasta.

YEL-vakuutuksen hinta on noin 25 % YEL-työtulosta ja verovähennyskelpoinen, eli sillä ei voi perustella mieletöntä hintaa vaan ainoastaan 25 % korotuksen siihen, mitä muiden asioiden perusteella tulee mieleen.

Kuvitellaan, että palindromikoneen tekemisestä pitäisi jäädä vaikka 200 euroa käteen. (Kova summa noin lyhyestä koodista!) Kun lasketaan summaan 25 % vakuutusmaksua ja 25 % tuloveroa (60000 euron vuosituloilla), nähdään, että 300 euroa pitäisi laskulta saada yritykseen. Lisätään tähän 5 % kirjanpitokuluja ja 24 % arvonlisäveroa, niin saadaan 390,60 euroa laskun verolliseksi loppusummaksi.

Laskelmassa ei huomioitu kaupantekoon kuluvaa aikaa, joka palindromikoneen kohdalla toki voi olla moninkertainen itse projektiin nähden. Toisaalta silloin kannattaakin miettiä, olisiko parempi tehdä tasoltaan moninkertainen projekti ja myydä se paljon helpommin.

P.S. Hyvä, että teit uuden keskustelun tästä palindromikoneesta, ettei sotkettu sitä alkuperäistä ohjelmointikysymystä!

(Edit: tarkennettu laskelmaa.)

Grez [12.06.2021 15:30:43]

#

Toisaalta jos pyörittää "firmaa" vaikka vuoden eikä saa mitään muuta kaupaksi kuin sen palindromikoneen, niin tuleehan sille hintaa.

YELikään ei ole riippuvainen siitä paljonko myyntiä tulee vaan jos työtulo (paljonko vastaavista tehtävistä saisi toisen palveluksessa) on vaikka 40 000 euroa niin sen kymppitonnin (tai uuden yrittäjän tapauksessa reilut 7000) joutuu maksamaan vaikka kauppa ei kävisikään.

Jos ei ole ennaltaan asiakkaita tiedossa ja ottaa liiketoimintasuunnitelmaksi toteuttaa palindormikoneen ja myydä sitä, niin kokonaistyöajasta se 2 tuntia menee devaamiseen. Loppu aika menee niiden asiakkaiden etsimiseen, tuotteen esittelemiseen, perään kyselemiseen (jos jotkut ei suoraan kehtaa sanoa että ei kiinnosta) jne.

Eli voin kuvotella että jos joku tuollaisen palindromikoneen ostaisi, niin kannattavan liiketoiminnan edellytyksenä voisi hyvinkin olla viisinumeroinen kauppasumma.

YEL-maksun verovähennysoikeudella ei ole yhtään sen enempää merkitystä kuin vaikka tulostuspaperin, palkkojen, toimitilavuokrien yms. verovähennysoikeudella. Eli se on kulu yritykselle siinä missä muutkin eli vain vähentää omalta osaltaan voitosta maksettavaa veroa. Jos tappiota tulee niin ei verottaja tappiosta rahaa lähetä takaisin.

Jere Sumell [12.06.2021 15:54:35]

#

Hienoa, että liiketoiminnastakin asiallisia mielipiteitä tullut tänne!

No joo, Sanasepoilta tuli vastaus, että palindromirengin tyylinen palvelu on mielenkiintoinen, mutta ei kuulu sanaristikkoseuran toimenkuvaan, vaan Sanaris Oy:n, eli Erkki Vuokilalle.

Lähetin molemmille samaan aikaan postin, ja ei tuolla palindromikoneella ole, kuin yksi mahdollinen asiakas Suomessa todennäkoisesti ja se on tuo Sanaris Oy.

Onhan siinä paljon muutakin siinä kokonaisessa palvelussa toki, mitä tuo pelkkä palindromikoneen koodi, lomakkeiden datan validointi-metodeita, tietokantaan vientiä ja tuontia, ja sitten käyttoliittymän koodaus verkkoselaimelle.

No joo, tradenomi-koulutuksellakin pystyy laatimaan melko hyvän oloisen myyntisopimuksen, sellainen, joka on läpinäkyvästi reilu molempia osapuolia kohtaan, joten lakikonsultointi on tämän kaltaisessa myyntitoiminnassa jokseenkin turhaa, kuten Metabolix totesit.

Tuotteen hinnan päälle muuten kannattaa laskea jokin katetuottoprosentti, jota yrittäjänä tavoittelet, koska se on se raha, mikä jää kauppojen jälkeen sitten yrittäjän taskuun, ja pitäisi rahoittaa jotenkin sen yrityksen ulkopuolellakin pitäisi jotenkin yksityiselämän kulut kattaa. Laskemasi tuotannontekokulut on 400 euroa, niin 800-1200 euroa on mielekäs hinta, jos ei tykkääk kiskontatoimintaa harrastaa.

Tuo muuten tuli vasta jokin aika sitten uutena minulle, että kevytyrittäjänäkin laskuttaessa tarvitaan tuo YEL-vakuutus ja tyokkari rinnastaa sen kokoaikaiseksi yrittäjäksi helposti, jos on tyoton tyonhakija.

Jos nyt päätoimisesti aikoo lähteä yksityisyrittäjän uralle, niin melko sama, vaikka unohtaisi tuon kevytyrittäjyyden, ja perustaisi ihan oikean yrityksen, etenkin jos on jotain ylläpitotuloja säännollisesti, tai sitten toimialoissa on jotain muutakin sellaista toimintaa, josta on jotain satunnaistuloja myyntitoiminnasta, esimerkiksi vähittäistavaran kauppa, mitä tykkään kierrättää yksityishenkilona käytettyjä läppäreitä, ja niissä on käynyt kauppa ihan mukavasti mitä olen sitä tehnyt halvoilla hinnoilla, tosin äärimmäisen pienellä katteella.

Tuo on ihan totta, että jos ei ole ennen yrityksen kaupparekisteriin vientiä, kuin tuo palindromikoneen ostaja esimerkiksi asiakkaana, niin oikeampi myyntihinta olisi viisinumeroista, kuten Grez totesit, mutta sitten se on ylihinnoiteltu helposti asiakkaan näkovinkkelistä, niin ei siitä käytännossa voi pyytää, tuo 900-1200 euroa on ehkä realistisin hintapyynto, joka siitä on myos mielestäni mahdollista saada.

Sitten, jos tosiaan on aluksi vain yksi projekti varmistunut, niin sitten voi mennä pitkäänkin, että uusia projekteja ei tule, ja siinäkin kohtaa pitäisi elää sen yrityksen ulkopuolella jotenkin ja maksaa juoksevat kulut, kun Sanaris Oy:lläkin on oma IT-tiimi ja verkko-ylläpitotiimi niin heiltä ei voi ylläpidostakaan laskuttaa, en pistänyt sitä siihen tarjoukseen.

Metabolix [12.06.2021 16:12:08]

#

Jere Sumell kirjoitti:

Tuotteen hinnan päälle muuten kannattaa laskea jokin katetuottoprosentti, jota yrittäjänä tavoittelet, koska se on se raha, mikä jää kauppojen jälkeen sitten yrittäjän taskuun,

Yksityisyrittäjänä ohjelmointi maksaa käytännössä vain aikaa, joten rahallinen tuotantokustannus on nolla euroa ja laskelmani lähtösumma on juuri omaan taskuun jäävää rahaa. Tietysti mahdolliset lisäkulut (lisenssit, työvälineet, materiaalit) pitää laskuttaa, jos niitä kertyy. Erillinen kate työpanoksen hinnan päälle tarvitsee laskea vain työnantajan roolissa, kun työpanoksen hinta maksetaan palkkana työntekijälle ja firma tarvitsee lisäksi voittonsa.

Grez [12.06.2021 16:30:22]

#

Metabolix kirjoitti:

Yksityisyrittäjänä ohjelmointi maksaa käytännössä vain aikaa, joten rahallinen tuotantokustannus on nolla euroa ja laskelmani lähtösumma on juuri omaan taskuun jäävää rahaa.

Kai sitä yksityisyrittäjäkin tarvitsee ruokaa, asunnon, yms. ja näitä ei voi yksityisyrittäjänä hommia tehdessä kattaa työttömyyskorvauksellakaan.

Jere Sumell [12.06.2021 16:34:49]

#

No joo, jos nyt osakeyhtiolla pyorittää ohjelmistofirmaa, niin sama maksaako palkan itselle vai onko palkannut jonkun kaverin toihin kaveriksi sitten, kun on varaa tehdä se, niin tyonantajan näkovinkkelistä kertoimella 1,5 pääsee sen tyontekijän käteen jäävän eurosumman päälle se kustannus, mitä palkanmaksu tarkoittaa rahassa tyonantaja-näkokulmasta.

On totta, että paras vaihtoehto on, että pääsisi jonkinlaiseen tyoputkeen toisen palvelukseen ohjelmoimaan, mutta on siinä etunsa omassa yrityksessäkin joskin se on 24/7 kiinni olossa siinä omassa jutussa, ja kaikkien elämäntilanteeseen yrityksen pyorittäminen ei edes sovi.

On totta, että jos saa tyomarkkinatuen ja asumistuen ja yleisen toimeentulotuen, mikä on yleisin tukiyhdistelmä Suomessa etenkin pitkäaikaistyottomillä, niin varmaankaan osakeyhtionkään perustaminen ole mikään tie taivaaseen, kun kaikki tulot vaikuttaa noihin tukiin ja TE-keskuksessa ei ole toistaiseksi mitään välitilaa tyottomana tyonhakijana olemisen ja yrittäjänä toimimisen välimallia olemassa. Olen esittänyt sitä, että pitäisi olla.

Juuri eilen tuli päiväpostista Hesarin viikkolehti, kyllä, pidän printtilehtien lukemisesta, niin siinähän oli siitä sosiaaliturvauudistuksesta, joka olisi Suomen historian merkittävin koskaan, jos se toteutuu, jossa Helsingin Yliopiston valtio-opin professori Heikki Hiilamon johtama tyoryhmä on laatinut sen raportin tilattuna valtioneuvoston toimesta, niin saa nähdä, tuleeko se joskus voimaan, siinähän haetaan tätä byrokratian vähenemistä näissä tyokkäri-caseissa.

Grez ehti vastata juuri saman, mistä itse aloitin tämän postauksen kirjoittamiseni. Itselläni se tilanne, että saan takuueläkkeen ja asumistuen, ja palkkatuloja saa tienata takuueläkkeellä noin 800 euroa kuussa, niin tilanteessani saattaisi vähän parantaa tulotasoani, vaikka perustaisinkin pienen yrityksen, jolla on vähän toimintaa tai toiminta on satunnaista.

Osakeyhtio on noista selvin noista yritysmuodoista, kun siinä voi pitää omat ja yhtion talouden erillään, ja en ole nyt ihan viime hetken muutoksia seurannut osinkoverolainsäädäntoa, ainakin jossain vaiheessa erityisesti musiikkialalla bändit tekivät sitä, että eivät maksaneet palkkoina tyontekijoille mitään, vaan nostivat kerran tilikaudessa osingoissa maksimit, mitä laki sallii, kun osingot oli johonkin pisteeseen saakka verovapaita osakkaille maksettaessa. En tiedä, onko asia tällä hetkellä niin. Käsitykseni on se, että jotain muutoksia tuohonkin tullut.

Metabolix [12.06.2021 16:47:54]

#

Jere Sumell kirjoitti:

tyonantajan näkovinkkelistä kertoimella 1,5 pääsee sen tyontekijän käteen jäävän eurosumman päälle se kustannus, mitä palkanmaksu tarkoittaa rahassa tyonantaja-näkokulmasta.

Lasket nyt keskenään vaihtoehtoisia kustannuksia päällekkäin. Jos maksaa palkkaa sivukuluineen (sinun laskukaavallasi 200 euroa käteen = 300 euroa kuluja), ei tarvitse laskea kyseiselle summalle omaa YEL-vakuutusta ja tuloveroa (minun laskuillani 200 euroa käteen = 300 euroa kuluja).

Grez kirjoitti:

Metabolix kirjoitti:

Yksityisyrittäjänä ohjelmointi maksaa käytännössä vain aikaa, joten rahallinen tuotantokustannus on nolla euroa ja laskelmani lähtösumma on juuri omaan taskuun jäävää rahaa.

Kai sitä yksityisyrittäjäkin tarvitsee ruokaa, asunnon, yms. ja näitä ei voi yksityisyrittäjänä hommia tehdessä kattaa työttömyyskorvauksellakaan.

En tiedä, mikä kohta jäi ymmärtämättä, mutta kommentoimani kohta oli se, että Jeren laskelmissa tuo 200 euron summa katosi johonkin tuotannontekokulut-nimiseen mustaan aukkoon, kun minun laskelmassani tuo 200 euron summa nimenomaan oli se yrittäjälle maksettava raha tästä projektista. Toivottavasti yrittäjä tekee kuukauden aikana muutakin kuin 200 euron palindromikoneen.

Grez [12.06.2021 16:50:39]

#

Niin siis kustannus työntantajalle on luokkaa 1,5 -kertainen (ei päälle) bruttopalkkaan nähden ja käteen jäävä raha on sitten tietty osuus tuosta bruttopalkasta. Jos bruttopalkka on kovin suuri, niin silloin käteen jää noin puolet jolloin kustannus työnantajalle on noin kolminkertainen "käteen jäävästä".

Metabolix kirjoitti:

En tiedä, mikä kohta jäi ymmärtämättä

Ilmeisesti se, että vastasin väitteeseesi yksityisyrittäjän ajan ilmaisuudesta. ("maksaa käytännössä vain aikaa, joten rahallinen tuotantokustannus on nolla euroa")

Vaikka ei edes laskettaisi vertaiskustannusta menetetystä vapaa-ajasta, niin silti yrittäjänkin ajalle on jokin omakustannushinta elinkustannuksista johtuen.

Jere Sumell [12.06.2021 17:55:12]

#

Grez kirjoitti:

Niin siis kustannus työntantajalle on luokkaa 1,5 -kertainen (ei päälle) bruttopalkkaan nähden ja käteen jäävä raha on sitten tietty osuus tuosta bruttopalkasta. Jos bruttopalkka on kovin suuri, niin silloin käteen jää noin puolet jolloin kustannus työnantajalle on noin kolminkertainen "käteen jäävästä".

Hyvä Grez, että korjasit tuon, että tuo 1,5 kerroin aika lähellä nimenomaan palkansaajan bruttopalkasta, on se työntekijä, jolle sitä palkkaa yrittäjänä maksetaan, sitten toimitusjohtaja itse omassa yrityksessä, tai joku sen kaveri.

Osakeyhtiössähän ei saa nostaa samalla tavalla rahaa käteisottoina tililtä, mitä toiminimessä voi sumeilematta nostaa itselleen aina tarvittaessa tililtä rahaa, mutta toiminimessä hankalaa on se, kun siinä on yrityksen ja henkilökohtaiset varat samat, että yrityksen osalta vastaa koko omaisuudellaan siitä toiminnasta, ja osakeyhtiössähän siinä on parhaimmillaan ainoastsaan riskinä se siihen alussa sidottu alkupääoma. Sekin puoltaa osekyhtiön perustamista eniten järkevänä yhtiömuotona, vaikka se on kalliimpi ylläpitää, kun siinä pitää tilintarkastalle maksaa tilikauden lopussa tilinpäätöksen teosta, jos sitä ei osaa itse tehdä.

Pääsääntöisesi mielestäni kannattaa ulkoistaa kirjanpito, vaikka itsekin olisi perillä siitä jotain. Kirjanpito nyt sinällään kaksinkertainenkaan ole perusteiltaan mitään rakettitiedettä, mutta ammatti-kirjanpitäjä ymmärtää paljon syvemmin tilit, ja jos kirjanpitäjällä on kokemusta, hän osaa myös konsultoida sitten yrittäjää veroilmoituksen täytössä ja tosiaan laatia sen tilinpäätöksen.

Lisäksi kun jos yritystoiminta päättyy jossain vaiheessa, oma varastotila säästyy, kun on ulkoistanut kirjanpidon, kun verotarkastus voi tulla lain mukaan 10 vuotta yritystoiminnan päättymisen jälkeen, eli se koko yrityksen kirjanpito pitää arkistoida 10:ksi vuodeksi toiminnan päättymisen jälkeen, eikä kirjanpitotoimistot laskuta siitä erikseen enää.

Metabolix [12.06.2021 18:02:08]

#

Lomat unohdin edellisestä laskelmasta. Siihenhän riittää kerroin sen mukaan, minkä osuuden vuodesta haluaa pitää palkallista vapaata.

Grez kirjoitti:

Metabolix kirjoitti:

En tiedä, mikä kohta jäi ymmärtämättä

Ilmeisesti se, että vastasin väitteeseesi yksityisyrittäjän ajan ilmaisuudesta. ("maksaa käytännössä vain aikaa, joten rahallinen tuotantokustannus on nolla euroa")

Vaikka ei edes laskettaisi vertaiskustannusta menetetystä vapaa-ajasta, niin silti yrittäjänkin ajalle on jokin omakustannushinta elinkustannuksista johtuen.

En toki sanonut, ettei ajalla olisi arvoa eikä elinkustannuksia pitäisi kattaa. Siksihän tästä parin rivin koodista on laskettu tavoitteeksi 200 euron nettotulo. Viesti oli, että tämä raha ei katoa mihinkään työn sivukuluihin, koska palindromikoneen koodaaminen itsessään ei vaadi rahaa verrattuna vaikka palkattomaan kissavideoiden katseluun kotisohvalla. Molempiin tarvitsee asunnon, ruokaa, tietokoneen ja nettiyhteyden, eli ne eivät ole työn aiheuttamia kustannuksia.

Itse en ainakaan ole ymmärtänyt ajatella palkkaneuvotteluissa, että tunti- tai kuukausipalkan päälle pitäisi neuvotella vielä jokin henkilökohtainen kate asuntoa ja ruokaa varten. Olen kuvitellut, että elämisen peruskustannukset maksetaan palkan perusosasta. Toistaiseksi rahat ovat riittäneet ja säästöönkin on jäänyt.

Katetta ei myöskään tarvitse erikseen lisätä kertoimella vain yrittäjyyden takia, vaan kulujen jälkeen käteen jäävä raha on ihan samanlaista rahaa kuin palkansaajalla. Tässä tehtiin laskelmat, joiden perusteella 200 euroa jää käteen, eli siinä on jo tämän projektin ”kate”.

Varmaan tästä syntyy jotain väärinkäsityksiä, kun monet yrittäjän perusoppaat neuvovat taikalukuja, joilla rahat saa riittämään. Kertoimissa on kyse perimmiltään siitä, että ei tarvitse ennakoida kaikkia kuluja tarkalleen, kun käyttää jotain riittävän hyvää nyrkkisääntöä. Jos kaikki kulut on ennakoitu ja rahallinen tavoite on asetettu oikein, maagisia lisäkertoimia ei tarvita.

Jere Sumell kirjoitti:

oma varastotila säästyy, kun on ulkoistanut kirjanpidon

Luulisi jokaiselta löytyvän hyllystä tilaa yhdelle USB-tikulle. ;)

Grez [12.06.2021 18:09:54]

#

Jere Sumell kirjoitti:

Osakeyhtiössähän ei saa nostaa samalla tavalla rahaa käteisottoina tililtä, mitä toiminimessä voi sumeilematta nostaa itselleen aina tarvittaessa tililtä rahaa

En näe sitä sinänsä ongelmana, osakeyhtiö voi vastaavasti milloin vain (jos varaa on) maksaa palkkaa.

Muutenkin kuulostaa huvittavalta ajatukselta että omien rahojen nostamisessa olisi jotain sumeilemista.

Jere Sumell kirjoitti:

kun siinä pitää tilintarkastalle maksaa tilikauden lopussa tilinpäätöksen teosta, jos sitä ei osaa itse tehdä.

1) Tilintarkastaja ei tee tilinpäätöstä. Yleensä sen teosta maksetaan kirjanpitäjälle jos sitä ei itse tee. Tilintarkastajalle maksetaan tilintarkastuksesta.

2) Tilintarkastusta ei voi itse tehdä, vaikka osaisi ja vaikka olisi suorittanut tilintarkastustutkinnotkin, koska tilintarkastaja on esteellinen tarkastamaan oman yrityksensä tilejä.

3) Tilintarkastajaa ei pienessä osakeyhtiössä ole pakko valita, jolloin ei tule kustannuksiakaan.

Jere Sumell kirjoitti:

mutta ammatti-kirjanpitäjä ymmärtää paljon syvemmin tilit, ja jos kirjanpitäjällä on kokemusta, hän osaa myös konsultoida sitten yrittäjää veroilmoituksen täytössä ja tosiaan laatia sen tilinpäätöksen.

Olen samaa mieltä että pääsääntöisesti kannattaa ulkoistaa kirjanpito, mutta huono puoli ammattikirjanpitäjissä on, että ne ei aina ole ammattitaitoisia, vaikka olisi minkä kirjanpitoliiton jäseniä. Ihan uskomattomiin kämmeihin ja osaamattomuuksiin on tullut silloin tällöin törmättyä. Toki keskimääräinen ammattikirjanpitäjä on perillä asioista paremmin kuin keskimääräinen yrittäjä.

Jere Sumell kirjoitti:

Lisäksi kun jos yritystoiminta päättyy jossain vaiheessa, oma varastotila säästyy, kun on ulkoistanut kirjanpidon, kun verotarkastus voi tulla lain mukaan 10 vuotta yritystoiminnan päättymisen jälkeen, eli se koko yrityksen kirjanpito pitää arkistoida 10:ksi vuodeksi toiminnan päättymisen jälkeen

Itse asiassa kirjanpitoaineisto täytyy säilyttää vain 6 vuotta. Tilinpäätökset täytyy säilyttää 10 vuotta. Kuten Metabolix edellä viittasi, kirjanpito voi (kannattaa) olla täysin sähköisenä, jolloin varastotilaa ei paljoa kulu.

Jere Sumell kirjoitti:

eikä kirjanpitotoimistot laskuta siitä erikseen enää.

Juuri toissapäivänä katselin jonkin kirjanpitotoimiston hinnastoa, ja kyllä siellä oli ihan laitettu euromääräinen hinta säilytyksestä per mappi per vuosi.

Grez [12.06.2021 18:24:13]

#

Metabolix kirjoitti:

Itse en ainakaan ole ymmärtänyt ajatella palkkaneuvotteluissa, että tunti- tai kuukausipalkan päälle pitäisi neuvotella vielä jokin henkilökohtainen kate asuntoa ja ruokaa varten.

No jos palkkapyyntisi olisi se mainostamasi 0 euroa ja sen verran maksettaisiin*, niin huomaisit varmasti hyvin pian että nekin olisi kannattanut huomioida.

* toki se ei käytännössä olisi mahdollista, koska Suomessa työsuhteessa olevia työntekijöitä suojellaan omalta tyhmyydeltä.

Mutta ihan vakavasti ottaenkin, niin minun mielestä tuo ajattelumallisi että yksityisyrittäjänä ohjelmiston tuotantokustannukset olisi jotenkin vähäisemmät kuin muuten ei ole kovin terve. Jos moisia ajattelumalleja on vallalla, niin ei mikään ihme että suomessa on paljon yrittäjiä, joiden tulot on surkeat työmäärään nähden.

Jere Sumell [12.06.2021 18:53:58]

#

Grez kirjoitti:

Mutta ihan vakavasti ottaenkin, niin minun mielestä tuo ajattelumallisi että yksityisyrittäjänä ohjelmiston tuotantokustannukset olisi jotenkin vähäisemmät kuin muuten ei ole kovin terve. Jos moisia ajattelumalleja on vallalla, niin ei mikään ihme että suomessa on paljon yrittäjiä, joiden tulot on surkeat työmäärään nähden.

On totta, että valta-osa pienyrittäjistä elää todella pienellä toimeentulolla Suomessa Suomen yrittäjien teettämän tutkimuksen mukaan viime vuodelta. Itsekin mainitsin tämän jossain aiemmassa postauksessani, että ei tajuta hinnan muodostusta.

Yleensä aloittelevan yrityksen kompastuskivi on myös oman tuotteen tai palvelun kysynnän yliarviointi, kaupanteko ja liikevaihto ei kerry käytännössä eikä se toimi 24/7 automaationa.

Ja mitä itsekin näitä pienyrittäjien asioita tässä selvitellyt toista vuotta, niin kaikki lomat on syytä unohtaa pienyrittäjänä ja kaikki sairaslomamaksut ynnä muut. Jos olet itse henkilöitymä yrityksesi kanssa bisneksessä, ja yrityksesi on pieni, niin tavallisesti yrittäjillä ei ole varaa pitää esimerkiksi kesälomaa.

Metabolix [12.06.2021 19:26:40]

#

Grez kirjoitti:

No jos palkkapyyntisi olisi se mainostamasi 0 euroa ja sen verran maksettaisiin

...

Mutta ihan vakavasti ottaenkin, niin minun mielestä tuo ajattelumallisi että yksityisyrittäjänä ohjelmiston tuotantokustannukset olisi jotenkin vähäisemmät kuin muuten ei ole kovin terve.

Mistä nämä ajatukset nyt tulivat?

En ole missään vaiheessa sanonut, että nolla euroa olisi jonkun palkka tai työn arvo tms. Nolla euroa on se täysin konkreettinen määrä, jonka koodari joutuu itse maksamaan, että saa koodin tehtyä, verrattuna siihen, että koodari vain istuisi sohvalla: se ei maksa hänelle itselleen muuta kuin aikaa. Tämä koskee myös toiminimiyrittäjää, eli omassa yrityksessä voi tehdä vaikka miten paljon työtä, eikä yrityksen tarvitse maksaa siitä mitään. Palkkaa maksavalle työnantajalle se koodarin työpanos tietenkin maksaa palkan ja sivukulujen verran.

En myöskään sanonut, että koodin kustannus olisi erilainen eri tilanteissa. Sen olen implikoinut, että isommassa firmassa todellisten kustannusten päälle lisätään firman kate eli omistajien voitto. Sehän on puhdas pääomatulo ilman arvoa tuottavaa työtä. Ja olen sanonut, että jos henkilö itse tekee ja hinnoittelee työnsä, siihen ei tarvitse kertoimella lisätä katetta, ei yrittäjänä eikä palkansaajana.

Seison myös sen takana, että itselläni nolla euroa on konkreettinen minulle aiheutuva kustannus työn tekemisestä, pois lukien työmatkan kustannukset, kun en voi tehdä pelkkää etätyötä. Kuten sanoin, palkkatuloilla maksetaan elämässä muuta kuin työnteon kustannuksia. (Palkkamenoilla tietenkin työnantaja maksaa työn teettämisestä aiheutuvia kustannuksia.)

Tiivistelmänä vielä, mikä oli keskustelun fokus osaltani: Kun haluttuun nettotuloon lisätään kaikki kulut, saadaan sopiva laskutettava summa. Jeren mielestä tähän pitää vielä lisäksi ”laskea jokin katetuottoprosentti, jota yrittäjänä tavoittelet, koska se on se raha, mikä jää kauppojen jälkeen sitten yrittäjän taskuun”. Minun mielestäni tässä on jokin ihmeellinen ajatusvirhe, koska se alkuperäisen laskelman nettotulo nimenomaan jää yrittäjän taskuun kaupanteon jälkeen ilman mitään erillistä tuottoprosenttia. Yrittäjä käyttää sen sitten elämiseen, ihan kuten palkansaajakin. Osakeyhtiö lisää kustannuksiin katteen (prosentilla tai muulla tavalla), ja se on se raha, jolla osakeyhtiö tuottaa omistajilleen voittoa.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta