Portál AbcLinuxu, 14. května 2025 22:52

Dotaz: Oprava print v Pythonu

7.3.2020 00:13 Petr
Oprava print v Pythonu
Přečteno: 584×
Odpovědět | Admin
Preji dobry vecer, proc nefunguje tento print
cislo = 10
print ("\033["+cislo+"D", end='', flush=True)
a tento print funguje
print("\033[10D", end='', flush=True)
Jde to opravit? Predem dekuji.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Jendа avatar 7.3.2020 00:54 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Oprava print v Pythonu
Odpovědět | | Sbalit | Link | Blokovat | Admin
print("\033["+str(cislo)+"D", end='', flush=True)
print("\033[%iD"%cislo, end='', flush=True)
Gréta avatar 7.3.2020 13:07 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: Oprava print v Pythonu

ještě něco přihodim na hromádku ;D

 


#do funkce string se dá strčit víc oběktů k vypsání najdenou
#a když je to jako vypisuje tak to mezi ně strká separátor kterej je normálně mezírka
#takže ho přenastavíme na '' :O ;D
print("\033[",cislo,"D",end='',flush=True,sep='')

#metoda format stringu která jako 'nahradí' ty složený závorky
print("\033[{}D".format(cislo),end='',flush=True)

#a složený závorky zkráceně f-stringem :O :O
print(f"\033[{cislo}D",end='',flush=True)
Petr Fiedler avatar 7.3.2020 00:59 Petr Fiedler | skóre: 35 | blog: Poradna | Brno
Rozbalit Rozbalit vše Re: Oprava print v Pythonu
Odpovědět | | Sbalit | Link | Blokovat | Admin

Nemělo by to být takto:

print ("\033["+cislo+"D"", end='', flush=True)
Petr Fiedler avatar 7.3.2020 01:03 Petr Fiedler | skóre: 35 | blog: Poradna | Brno
Rozbalit Rozbalit vše Re: Oprava print v Pythonu

No jasný, mezera mezi print a závorkou. Ups.

7.3.2020 01:14 Petr
Rozbalit Rozbalit vše Re: Oprava print v Pythonu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Moc dekuji za pomoc.

muzet mi poradit jeste s jednim problemem?

Mam pole arr = ["a","b","d"]

a potrebuji vlozit polozku "c" mezi polozku "b" a "d" aby vysledek byl

arr = ["a","b","c","d"]
Jendа avatar 7.3.2020 01:26 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Oprava print v Pythonu
arr = arr[:2] + ["c"] + arr[2:]
7.3.2020 01:30 Petr
Rozbalit Rozbalit vše Re: Oprava print v Pythonu
Dekuji, muzes mi to prosim objasnit co to dela?
Jendа avatar 7.3.2020 01:37 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Oprava print v Pythonu
array subscripts a přetížené +

si ty jednotlivé kousky pastni to REPL/ipythonu…
Jendа avatar 7.3.2020 01:27 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Oprava print v Pythonu
arr.insert(2, "c")
Gréta avatar 7.3.2020 13:44 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: Oprava print v Pythonu

pokud jako znáš ty elementy pole ale nevíš kde zrovna jsou a jediný co jako chceš je to mit mezi těma dvouma bez ohledu na to kterej je první a kterej druhej tak takhlenc nějak ;D

když tamty prvky o zadaný hodnotě nejsou v poli tak to hodí vyjímku valueerror ;D

arr=["a","b","d"]
print("pole pred pridanim:",arr)
if "b" in arr and "d" in arr:
    arr.insert(min(arr.index("b"),arr.index("d"))+1,"c")
else:
    raise ValueError("v petrove poli nejsou oba prvky 'b' a 'd' :O :O")
print("pole po pridani:",arr)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.