Rivin vaihto Pythonissa

Apua, olen vasta päättänyt opetella ohjelmointia, josta en siis tiedä etukäteen yhtään mitään. Käyn nyt läpi erästä oppikirjaa, ja tuntuu, etten pääse opiskelussa edes alkuun, kun ihan perusasioissa tyssää. Nyt siis pitäisi selvittää, kuinka pääsee siirtymään koodin kirjoittamisessa seuraavalle riville ilman että Python lähtee tekemään ensimmäisen rivin jälkeen mitään. Esim. seuraava


print ('Kate')

print ('Austen')

Python tulostaa tuon ekan rivin jälkeen 'Kate', jos painan ekan rivin jälkeen enteriä. Miten tuo pitäisi tehdä, jos haluan että Python tulostaa

Kate
Austen

eli miten saisin tehtyä ekan ja tokan rivin siten, että Python ei tee mitään ennen kuin toisen rivin päätteeksi painan entteriä? Notepad ei tässä auta, koska erroria pukkaa silloinkin kun kirjoitan koodin valmiiksi notepadiin ja yritän sieltä siirtää Pythoniin. Eikä "/n" toimi myöskään. =(
145377
Äänestä

Muut lukivat myös

Vastaukset 14

Vanhimmat

print ('Kate\nAusten')

Äänestä

tai
print('Kate' '\n' 'Austen')

Äänestä

Kirjoita tiedostoon, tässä esimerkissä luodaan testi.py tiedosto, johon nuo print() komennot kirjoitetaan.

ELI näin:

cat <<EOF | tee testi.py
> print ('Kate')
> print ('Austen')
> EOF

Tuo EOF päättää tiedostoon kirjoittamisen, nyt voit ajaa scriptin komennolla:

python testi.py

Äänestä
  • Kiitos tästä....luulen, että tuon avulla saan näitä tehtäviä tehtyä jatkossakin! Täytyi tosin poistaa nuo muut jutut paitsi printit, mutta väliäpä tuolla, selväksi tuli!

    Kiitos myös muille vastanneille. Nuokin vinkit toimivat kyllä tässä esimerkkitapauksessa.

    Äänestä

  • Mutta kun se on jo vanhaa tietoa, oli jossakin vaiheessa hyvä. Toteuttamalla noita ohjeita aloitelija ei tiedä missä mättää kun ei toimi, ja lopulta hylkää orastavan innostuksen pythonia kohtaan.

    Äänestä


Naputtelit rivejä suoraan tulkkiin. Tee ohjelmasta ".py" päätteinen tekstitiedosto ja suorita se komennolla python3, esim: "python3 testi.py". Muista sisennykset, Python on niistä erityisen tarkka.

def main():
    print ('Kate')
    print ('Austen')

if __name__ == "__main__":
    main()

Äänestä

Oppikirja on varmaan tehty käytäväksi järjestyksessä.
Ensin suoraan komentoja tulkille. Sitten tiedoston teko ja ehkäpä vielä ohjelmointiympäristön (esim IDLE) käyttö, jonka pitäisi nopeuttaa koodailua

Äänestä

a = ["Kate", "Austen"]
for i in range(0,2): print( a[i] )


Tuo tuomii suoraan komentoikkunassa. Ja myös tiedostossa. Copy-Paste tästä.

Äänestä
  • Eiks toimi suoraan?
    for i in a: print(i)

    Äänestä

  • muistelisin kirjoitti:

    Eiks toimi suoraan?
    for i in a: print(i)

    Kyllä toimii ja on lyhyempi eikä ole vaaraa vääristä indeksin arvoista.

    Voi tietysti käyttää myös ;-merkkiä jos oikein laiskottaa eikä muista rivivaihtomerkkiä:

    print('Kate' ); print( 'Austen')

    Äänestä

Mikä muuten estää sen että pythonilla voisi kääntää ajettavan exe:n jolloin tulkkaus jäisi pois? Ja siten ettei tiedoston ajamiseen tarvitsisi asentaa pythonia koneelle. Itse olen jonkin verran ohjelmoinut Pythonilla mutta siirtynyt c . Siinä kun on vain taivas rajana.

Äänestä
  • Kyllä "kääntäjiäkin" löytyy, joten ei mahdotonta. Muuttujia ym pitää määritellä. Melkoinen vaiva.

    Jos haluaa suorituskykyä ilman vaivaa, niin kannattaa käyttää Pypy:ä (6.1). Muuttaa yksinkertaisen koodin lähes konekieliseksi. Varsinkin tiukoissa silmukoissa.

    Äänestä

Kommentoi aloitusta


jenna.23 kirjoitti:

Apua, olen vasta päättänyt opetella ohjelmointia, josta en siis tiedä etukäteen yhtään mitään. Käyn nyt läpi erästä oppikirjaa, ja tuntuu, etten pääse opiskelussa edes alkuun, kun ihan perusasioissa tyssää. Nyt siis pitäisi selvittää, kuinka pääsee siirtymään koodin kirjoittamisessa seuraavalle riville ilman että Python lähtee tekemään ensimmäisen rivin jälkeen mitään. Esim. seuraava


print ('Kate')

print ('Austen')

Python tulostaa tuon ekan rivin jälkeen 'Kate', jos painan ekan rivin jälkeen enteriä. Miten tuo pitäisi tehdä, jos haluan että Python tulostaa

Kate
Austen

eli miten saisin tehtyä ekan ja tokan rivin siten, että Python ei tee mitään ennen kuin toisen rivin päätteeksi painan entteriä? Notepad ei tässä auta, koska erroria pukkaa silloinkin kun kirjoitan koodin valmiiksi notepadiin ja yritän sieltä siirtää Pythoniin. Eikä "/n" toimi myöskään. =(

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu