Olen yrittänyt tehdä ohjelmaa joka tulostaisi listalla olevat tuotteet alekkain ilman harmittavan haitallista väliä. Tuo "\n" varmaan luo ylimääräisen välin? Saanko tätä millään toimimaan ilman "\n" merkkiä, tai onko jokin muu keino saada tuo väli pois?
Kiitos kaikille.
tobuy = ['milk\n', 'butter\n', 'coffee beans\n', 'arugula\n']
tiedosto = open('list.txt', 'w')
tiedosto.writelines(tobuy) # .writelines(list)
tiedosto.close()
tiedosto = open('list.txt')
marylines = tiedosto.readlines() # Using .read()
tiedosto.close()
print(marylines)
for a in range (3):
elain = marylines[a]
print(elain)
Näyttää tältä:
['milk\n', 'butter\n', 'coffee beans\n', 'arugula\n']
milk
butter
coffee beans
Kiitos kaikille.
tobuy = ['milk\n', 'butter\n', 'coffee beans\n', 'arugula\n']
tiedosto = open('list.txt', 'w')
tiedosto.writelines(tobuy) # .writelines(list)
tiedosto.close()
tiedosto = open('list.txt')
marylines = tiedosto.readlines() # Using .read()
tiedosto.close()
print(marylines)
for a in range (3):
elain = marylines[a]
print(elain)
Näyttää tältä:
['milk\n', 'butter\n', 'coffee beans\n', 'arugula\n']
milk
butter
coffee beans
Vastaukset 13
Vanhimmat
print(elain, end="")
Python 3:lla noin.
print() lisää rivin vaihdon, syö pois se pilkulla
Kato malli: http://pastebin.geany.org/6rd1g/
-
Tuotakin kokeilin mutta ei auttanut.
Python ja IDLE 3.2.3 ja Windows
Miksiköhän? ....
Löytyikin vastaus:
"Old: print x, # Trailing comma suppresses newline
New: print(x, end=" ") # Appends a space instead of a newline"
https://docs.python.org/3.0/whatsnew/3.0.html
Tässä yksi esimerkki, jossa listan alkioista on poistettu rivin vaihdot (\n).
http://pastebin.geany.org/eyqrh/
-
Affiliate, linkki ei toimi, voitko tsekata mistä johtuu.
Se johtu siitä että tuli käytettyä tuota Geanyn omaa pastebin palvelua, ja se pitää koodin oletuksena tavoitettavissa vain 45 min.
Mutta nyt sitten paikassa mistä ei häviä ikinä: http://pastebin.com/s9ngdbEv
Jatkossa pistänkin kaiken jaettavan tuonne, mikäli tuo ilmainen tili antaa myötä jakaa tarpeeksi.
Muuten mitä python versiota käytät, minä kirjottelen 2 versiolla, koska nuo Tkinterin graaffiset lomakkeet ei toimi 3 versiossa.
Nämä ohjelman ensimmäiset rivit kertovat millä tulkilla ohjelma toimii
#!/usr/bin/env python3 = Python3
#!/usr/bin/env python = Python 2 (yleisesti käytössä)
Minulla toimii kolmosversiossa. Erona näyttää ainakin olevan että esinnäkin pitää kirjoittaa pienellä (from tkinter import *) ja yhdessä antamassasi esimerkissä piti vaihtaa hieman koodia (vaikken tiedä miksi)
Taisi olla tämä:
import tkinter
from tkinter import *
#from ScrolledText import *
from tkinter.scrolledtext import ScrolledText
Löytyisikö tuohonkin jokin changelogi
ps. kiitos esimerkeistä!
toimivat 3:ssa
from tkinter.scrolledtext import ScrolledText #toimii
from tkinter.scrolledtext import * #toimii
http://python-future.org/compatible_idioms.html
jotain
Hei, minulla taitaa olla 3.5.2
Kiitos vastauksista, tuo selvisi, mutta en pystynytkään soveltamaan neuvoa seuraavassa esimerkissä.
Button(avaa_kirjaikkuna, text=kirjalista[laskin], command=Kirja).grid(row=laskin 2, column=0, sticky=W, pady=4)
Kun tuossa ensimmäisessä esimerkissä tallensin nämä tuotteet listaan: tobuy = ['milk\n', 'butter\n', 'coffee beans\n', 'arugula\n'], niin sen joutui tekemään tuolla "\n" merkillä, jotta voisin hakea ne myöhemmin avattavaan listaani tallennuksen jälkeen.
Ongelma muodostuu siinä, kun haluaisin käyttää samaa keinoa buttonissa "text=kirjalista[laskin]. Tuo "\n" aiheuttaa sen, että painikkeesta tulee kaksi merkkiä korkea ja olisin toivonut siitä vain yhden merkin korkuista.
Onkohan tähän mitään keinoa, osasinko selittää asian?
Kiitos kaikille.
Painikkeen muotoilu esimerkki
http://pastebin.com/rcH2trZ6
Esimerkki on suoraan verkosta, johon olen vain lisännyt tuon sinun listasta otettavan Caption tekstin trimmattuna .strip() funktiolla. Tuo käsky poistaa ei näkyvät merkit, merkkijonon alusta ja lopusta.
Kiitos sinulle, ole tosi etevä.