V 2. výzvě v části otázky a odpovědi: Napište krátký program, který zobrazí příklad součinu dvou náhodných čísel a pak požádá uživatele o odpověď
Já jsem to napsal takto : import random
z = random.randint (1,10)
y = random.randint (1,10)
print input ('z x y : ')
Když jsem pak program spustil napsal mi toto: z x y : (tady jsem mohl napsat nějaké číslo)
Nevíte jak to udělat aby místo z a y mi to psalo to náhodné číslo?
Fórum › Python
Python - 2.lekce (otázky a odpovědi)
To uvnitř funkce input je ohraničené uvozovkami, proto se vše bere jako řetězec (text) - Python nemá jak poznat, že zrovna tím "z" myslíš proměnnou a ne nějaké písmeno "z", které je zrovna součástí textu.
Pořád nějak nemůžu přijít na to jak udělat aby mi program psal např 9 x 5 : (a sem napsat libovolné číslo)
Zkusil jsem to napsat takto: import random
z = random.randint (1,10)
y = random.randint (1,10)
print input (z' x 'y': ') Program ale stále píše error.
Jak to tedy napsat správně, aby program psal např. 9 x 5 :
Zkusil jsem to udělat jinak : import random
z = random.randint (1,10)
y = random.randint (1,10)
print z,' x ', y
print input ( 'Je : ')
Nemůže mi prosím někdo napsat jak by to vypadalo správně aby to z a y nebral jako řetězec, ale jako to náhodné číslo?
To Ahoj3 :
TOTO
import random
z = random.randint (1,10)
y = random.randint (1,10)
print z,' x ', y
print input ( 'Je : ')
vypíše:
z x y
Je: <<< Za dvojtecku doplnis cislo a zmacknes enter, pak se ti zobrazi o radek niz.
pokud chces nekde vypsat to nasobeni z x y, tak dej
print z*y
Přesně takto jsem to udělal
import random
z = random.randint (1,10)
y = random.randint (1,10)
print z,' x ', y
print input ( 'Je : ')
Ale jestli je nějaký způsob aby program napsal : 9 x 5: místo 9 x 5
Je:
Jinak dík za odpovědi ale řikam si když už si nevim rady u tohoto, tak vám zachvíli zahltím fórum svými otázkami :)
To Ahoj3 :
Asi je to pro zacatek krapet zmateny, ale ja nejradeji pouzivam formatovani retezcu, takze takhle:
'%d' znamena, ze na tomto miste bude cele cislo. Za retezcem ' ' se napise %promenna a ta se doplni na pozici toho %d. Pokud je v retezci vice '%d%d%d' pak '%d%d%d' %(x,y,z) zalezi na poradi
import random
z = random.randint(1,10)
y = random.randint(1,10)
print input('%d x %d: '%(z,y))
Takže : import random
z = random.randint(1,10)
y = random.randint(1,10)
print input('%d x %d: '%(z,y))
To %d je vlastně to z, y a vždy to tedy musim psat za ten řetězec a ještě se chci raději ujistit. Když tedy napíšu print input('%d x %d: '%(z,y)) tak %d nebude stále z,y že ano?
To Ahoj3 :
Ano, vždy to musíš napsat hned za ten řetězec. Kdyžtak to hledej jako FORMÁTOVÁNÍ ŘETĚZCŮ PYTHON a na googlu toho najdeš plno.
první %d se nahradí první proměnnou z té závorky %(z,y) a druhé %d se nahradí tím druhým.
Sleduj pečlivě pořadí těch proměnných PRVNÍ A DRUHÁ.
PRVNI = 1
DRUHA = 2
print ' %d %d '%(PRVNI, DRUHA)
vypíše se >>> 1 2
PRVNI = 1
DRUHA = 2
print ' %d %d '%(DRUHA, PRVNI)
vypíše se >>> 2 1
za to % se dá dát víc takových písmen třeba:
%d - celé číslo
%f - číslo s desetinnou čárkou
%s - řetězec znaků (text)
To w3m : Snažil jsem se co nejosekanější formou. Mám totiž pocit, že je to lepší, než patlat se s tim jinak, ale je možný, že je to moc. Zas je fakt, že spojování pomocí čárek 'x = ',x se pouzije i v budoucnu v jinych jazycích (jinak, ale podobně).
Ahoj Chtěl jsem si s tím trochu pohrát ale pořád nevím jak na první podmínku.
import random
cislo1= random.randint(1,5)
cislo2= random.randint(1,5)
print ("kolik je" ,cislo1 ,"x" ,cislo2 ,"?")
odpoved2=input ("Zadejte cislo:")
odpoved=int (cislo1*cislo2)
print ("Zadali jste cislo:",odpoved2)
print ("Vysledek je:",odpoved)
if odpoved2 == odpoved:
print ("Gratuluji spravna odpoved")
else:
print ("Spatna odpoved")
Chci aby když člověk napíše správnou odpověď aby to udělalo první podmínku
Zatím mi to u všeho hází (Spatné odpovědi)
Jak je:
if odpoved2 == odpoved:
print ("Gratuluji spravna odpoved")
Tak nevím co tam mám napsat už se s tím pářu 4 hodiny a pořád na to nemohu přijít.
Díky
To TronNet : Předpokládám Python 3...
import random
cislo1= random.randint(1,5)
cislo2= random.randint(1,5)
print("Kolik je" ,cislo1 ,"x" ,cislo2 ,"?")
odpoved2 = input("Zadejte cislo:")
odpoved = int(cislo1*cislo2)
print ("Zadali jste cislo:",odpoved2)
print ("Vysledek je:",odpoved)
if int(odpoved2) == odpoved:
print("Gratuluji spravna odpoved")
else:
print("Spatna odpoved")
To TronNet : V Pythonu 3 input nahrazuje raw_input, tzn. načítá vždy string.
To bodan : Piš to například v notepadu (poznámkový blok) a ulož to s příponou .py. Jde to uložit i v shellu, ale zůstanou ti tam ty tři špičaté závorky (>>>).
V lekcích to je podle mě málo zdůrazněné a taky mi chvíli trvalo než jsem to pochopil.
To bodan : Ještě se dá použít Python IDLE -> File -> New window. Podporuje zvýraznění syntaxe a automatické odsazování.
Zdravím,
po uložení programu(ukladám to cez text.dokument ) a následnom spustení mi program síce otvorí a aj spustí ale len po prvý bod a akonáhle potvrdím svoju voľbu enterom program mi zmizne resp. sa vypne... some help ? som nap ale baví ma to :)
To acerdusan : Spouštěj ho z příkazové řádky
Už niekoľko hodín sa trápim s poslednou výzvou s príkazom for. Ako to mám do toho dať aby sa mi to opakovalo? Už som skúšal všeličo, ale vždy mi vyhodí syntax error. Hodila by sa mi nejaká malá rada :smile1:
To klok1222 : A nám by se hodil kód...
import random
prveCislo = random.randint(1,10)
druheCislo = random.randint(1,10)
print 'Kolko je',prveCislo,'x',druheCislo,'?'
odpoved = input('Zadaj odpoved: ')
print 'Vysledok je ', prveCislo*druheCislo
a neviem ako do toho zakomponovať to for :smile11:
To klok1222 : Proč for?
To klok1222 :
for i in range(0,10):
??Díky sputnikone, už som to pochopil ako na to :smile1:
predtým som dával niečo ako
import random
for prveCislo = random.randint(1,10)
druheCislo = random.randint(1,10)
print 'Kolko je',prveCislo,'x',druheCislo,'?'
odpoved = input('Zadaj odpoved: ')
print 'Vysledok je ', prveCislo*druheCislo
in range(1,10):
print prveCislo = random.randint(1,10)
druheCislo = random.randint(1,10)
print 'Kolko je',prveCislo,'x',druheCislo,'?'
odpoved = input('Zadaj odpoved: ')
print odpoved
print 'Vysledok je ', prveCislo*druheCislo
a iné podobné variácie
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Lekce 2, otazky a odpovedi - vyzva — založil ed_ps
Python - 2.lekce — založil Systém
Python - 9. lekce - sort() — založil Interista
Python - 2.lekce (pamatujeme si čísla) — založil Ahoj3
Print type (Python-3.lekce) — založil Ahoj3
Moderátoři diskuze