Výpis všetkých (8) miestnych čísiel – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Výpis všetkých (8) miestnych čísiel – Python – Fórum – Programujte.comVýpis všetkých (8) miestnych čísiel – Python – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Priwi0
Newbie
27. 3. 2015   #1
-
0
-

Zrdravim potreboval by som poradiť z výpison čísiel

potreboval by som prikaz aby mi pythom vypisal :

všetky 8 miestne čísla

alebo kolko miestne by som potreboval

moj problem je v tom že vobec neviem, ani kde to mam hladať

dakujem aspon za nasmerovanie kam sa pozreť

:D

Nahlásit jako SPAM
IP: 81.92.255.–
Reklama
Reklama
hanpari0
Návštěvník
27. 3. 2015   #2
-
0
-

Abych neprozrazoval všechno, stačí ti jen dva funkce str a len.

Napovím ti, ze je jednodussí zjistit pocet znaku v retezci - na to, co potřebujes.

Nahlásit jako SPAM
IP: 178.72.234.–
Priwi0
Newbie
28. 3. 2015   #3
-
+1
-
Zajímavé

#2 hanpari
Dakujem za nasmerovanie

Budem sa tomu venovať cez týžden niako sa mi totalne naplnil výkend

:D

Nahlásit jako SPAM
IP: 81.92.255.–
Newbie123
~ Anonymní uživatel
2 příspěvky
28. 3. 2015   #4
-
0
-

Alebo si staci uvedomit ze najmensie 8 ciferne cislo je 10,000,000 a najvacsie 99,999,999 :))

Nahlásit jako SPAM
IP: 78.98.13.–
Priwi0
Newbie
28. 3. 2015   #5
-
0
-

#4 Newbie123
no podla mna najmenšie 8 ciferneé číslo je 00000001 a največšie 999999999

ale určite dakujem

Nahlásit jako SPAM
IP: 81.92.255.–
Priwi0
Newbie
28. 3. 2015   #6
-
0
-

#6 hanpari
dakujem krasne ale toto som presne nechcel

"chcel som si to sam naštudovať aby som si to zapametal a aby som sa niečo naučil"

no dakujem pekne ešte som to nestihol ani zapnuť som niako zdaťne rozlietený a neviem kam skor no v pondelok sa to konečne upokoji (ak nebudem dospavat)

Nahlásit jako SPAM
IP: 81.92.255.–
hanpari0
Návštěvník
28. 3. 2015   #7
-
0
-

#7 Priwi
Omlouvam se, ale to nebylo pro tebe :)

Stejne to tak nedelej, udelej si normalni funkci, lambdy nepouzivej.

Nahlásit jako SPAM
IP: 178.72.234.–
Priwi0
Newbie
28. 3. 2015   #8
-
0
-

#7 hanpari
ok dik

ja si radšej tieto ve ci naštudujem sam a potrápim sa ked niečo potrebujem tak viem a mam pokoj.

kazdopadne dakujem všetkím zúčastnením. Ked napišem tak zavesim moj výtvor na hodnotenie :D

Nahlásit jako SPAM
IP: 81.92.255.–
Priwi0
Newbie
1. 4. 2015   #9
-
0
-

Zdravim tak už som sa tomu chvilu venoval mal som chvilu čas

ale predsa sa mi podáva ešte par otázok

prišiel som na príkaz

range (9)

tento príkaz sa mi páci na kolko je jednoduchý

a teraz moje otázky

1) ked dam príkaz do spyder tak v nefunguje ked ho dam priamo do python funguje krásne

2) ked vypiše čísla da ich za sebou a oddelí čiarkou. Potreboval by som každe zvlašt do každeho riadku

3) potrebujem rozpetie povedzme 8 miestnych čísiel ale aby začal od čísla 00000001 a skončím 99999999

niaki dobrý nápad ??

dakovala

Nahlásit jako SPAM
IP: 89.204.130.–
hanpari0
Návštěvník
1. 4. 2015   #10
-
+1
-
Zajímavé

Za nulte, range je funkce, která (zjednodušeně) vrací posloupnost čísel. Např.

for i in range(0,10.2):

    print(i)

Za prve, nevím.

Za druhé, viz za nulté). print odsazuje jeden řádek automaticky. Jinak help(print), argumenty sep a end by ti mohly pomoci.

Za třetí, chceš říct, že potřebuješ řetězec, protože python nebude psát 001 místo 1.

Tady tohle dělá, co asi potřebuješ.

for i in range(10**9):

   print("{0:0>8}".format(i))
Nahlásit jako SPAM
IP: 178.72.234.–
peter
~ Anonymní uživatel
2547 příspěvků
2. 4. 2015   #11
-
-1
-
Mimo téma
Nahlásit jako SPAM
IP: 2001:718:2601:1f7:ddb3:8b...–
gcx110
Návštěvník
2. 4. 2015   #12
-
0
-

#11 peter
Ahoj, můžeš mi vysvětlit poslední větu? Díky. :)

Nahlásit jako SPAM
IP: 46.23.54.–
peter
~ Anonymní uživatel
2547 příspěvků
2. 4. 2015   #13
-
0
-

gcx11 - nee, sorry

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:ddb3:8b...–
Priwi0
Newbie
2. 4. 2015   #14
-
0
-

dakujem za pomoc

na koniec som to vyriešil asi takto :

#!/usr/bin/env python
# -*- coding: utf-8 -*-
t = open('cisla.txt', 'w')
for i in range(1000000000000000, 9999999999999999):
    t.write('{}\n'.format(i))
t.close()


A pre istotu som narazil na problem :

priwi@priwi-ThinkPad-T520:~$ ./cisla.py 
Traceback (most recent call last):
  File "./cisla.py", line 4, in <module>
    for i in range(1000000000000000, 9999999999999999):
MemoryError

niaky napad ???

faktom je že pri 8cifernom čísle mal ten subor okolo 800MB

Nahlásit jako SPAM
IP: 89.204.135.–
KIIV+42
God of flame
2. 4. 2015   #15
-
+1
-
Zajímavé
Nahlásit jako SPAM
IP: 94.113.95.–
Program vždy dělá to co naprogramujete, ne to co chcete...
hanpari0
Návštěvník
2. 4. 2015   #16
-
0
-

#11 peter
I když se bojím, že ten článek nepochopíš, proč na něj sem nedát odkaz.

http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/

Srovnávat php s pythonem, toť odvaha.I když v tomhle případě spíš obrovská neznalost.

Nahlásit jako SPAM
IP: 178.72.234.–
Řešení
hanpari0
Návštěvník
2. 4. 2015   #17
-
0
-
Vyřešeno Nejlepší odpověď

#14 Priwi
Sice nevím, proč používáš dvojkový python, ale kolega nahoře má pravdu. Ve dvojkové řadě vytváří range list, to jest zabírá paměť; ve trojkové je range totéž co dříve xrange. V tomhle případě můžeš zkusit použít while



i, end = 10**8, 10**9

while i < end:

    soubor.write(i)

    i += 1
Nahlásit jako SPAM
IP: 178.72.234.–
Priwi0
Newbie
2. 4. 2015   #18
-
0
-

Dakujem všekým zúčastnením

problem vyriešený :

#!/usr/bin/env python
# -*- coding: utf-8 -*-
t = open('cisla.txt', 'a')
for i in xrange(1000000000000000, 9999999999999999):
    t.write('{}\n'.format(i))
t.close()


Dakujem aj za linky

určite sa im budem venovať.

To či im porozumiem je druha vec.

No na to že mam doma rodinu a pracujem každý den 10 hod

tak sa stale vymikam priemeru

mat koniček neznamena že budem v tom najlepší ---- hlavne že to človeka baví :D

a z ludmi ktorí vedia človeka nasmerovať to ide jednoduchšie

ešte raz dakujem

Nahlásit jako SPAM
IP: 89.204.135.–
hanpari0
Návštěvník
3. 4. 2015   #19
-
0
-

#18 Priwi
Ahoj,

jen bych ti chtěl doporučit dvě věci:

1/  Používej python 3.4,,  pokud nemusíš jinak

2/ Pokud umíš anglicky, podívej se na checkio.org

Nahlásit jako SPAM
IP: 178.72.234.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 35 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý