mám problém když otevřu idle dám new window a napíšu "import random
random.randint(1,10)"
pak F5 nic to neudělá
prosím co s tím?!
Fórum › Python
Idle netiskne
co takhle
import random
x=random.randint(1,10)
?:-)
for x in range(10):#zopakuje 10x příklad
import random
dobre=0
spatne=0
prvnicislo=random.randint(1,10)#vygeneruje první číslo
import random
druhecislo=random.randint(1,10)#vygeneruje druhé číslo
print "Kolik je:", prvnicislo,"*", druhecislo
cislo=input("Zadej číslo: ")
vysledek=prvnicislo*druhecislo
if cislo==vysledek:#rozhodne o správnosti zadaného čísla
print ("Ano-to je dobře.")
dobre=dobre+1
else:
print ("Ne,lituji. Správná odpověď je "),vysledek
spatne=spatne+1
print 'Máte', dobre, 'správných odpovědí a', spatne, 'špatných.'
mám problém s tím jak nastavit aby to správně počítalo ty špatné a správné odpovědi
potřebuji aby při každým novým for to znovu přičetlo podle výsledku
ale nechci přímo jak to udělat jen naznačit, chci si na to přijíd sám
proč dvakrát importuješ modul random?:-)
dej ho tam jednou a uplně na začátek kódu(ne do toho cyklu)
a teď k tomu počítání správných/špatných odpovědí...naznačim:-D
to "for x in range(..)" říká vlastně "pro každé číslo x v rozmezí tom a tom,zopakuj tohle:"...pro KAŽDÉ číslo,takže včetně toho, že dobre=0 a spatne=0
chtěl jsi to jenom naznačit,tak tady to máš:)
jo a nebude ti to fungovat protože tam máš diakritiku a na začátku jsi nedeklaroval kódování...úplně na začátek napiš
#-*-coding:cp1250-*-
a pak před každý řetězec kde je použitá diakritika písmeno u ;)
EDIT:jo a teď jsem si všimnul...k čemu tam máš ty závorky?třeba
print ("Ano-to je dobře.")
To Chrasty:
už to mám a mám z toho dobrej pocit
výsledný kód
#-*-coding:cp1250-*-
import random
dobre=0
spatne=0
for x in range(10): #zopakuje 10x příklad
prvnicislo=random.randint(1,10) #vygeneruje první číslo
druhecislo=random.randint(1,10) #vygeneruje druhé číslo
print "Kolik je:", prvnicislo,"*", druhecislo
cislo=input ("Zadej číslo: ")
vysledek=prvnicislo*druhecislo
if cislo==vysledek: #rozhodne o správnosti zadaného čísla
print "Ano-to je dobře."
dobre=dobre+1
else:
print "Ne,lituji. Správná odpověď je ",vysledek
spatne=spatne+1
print 'Máte', dobre, 'správných odpovědí a', spatne, 'špatných.'
dík za to kódování, ty závorky to je taková chybka a ohledně diakritiky tam u nemám a funguje
a ještě bych potřeboval pomoct s tímhle
# -*- coding: cp1250 -*-
from Tkinter import*
import random
class Had:
def __init__(self):
self.sirka=15
self.vyska=10
self.okno=Tk()
if __name__ == "__main__":
Had()
mainloop()
self.platno=Canvas(width=self.sirka*30,height=self.vyska*30)
self.platno.pack()
def vytvor_objekt(self,x,y,barva):
x=x*30
y=y*30
self.platno.create_rectangle(x,y,x+30,y+30,fill=barva)
for y in range(self.vyska):
for x in range(self.sirka):
if y in [0,self.vyska-1] or x in [0,self.sirka-1]:#Jestliže se jedná o krajní bod, ať je černý.
self.vytvor_objekt(x,y,"black")
else:
self.vytvor_objekt(x,y,"white")
self.okno.bind('<Key>',self.stisk)
def stisk(self, akce):
if akce.keysym in ["Left","Right","Down","Up"]:
self.smer=akce.keysym
def stisk(self, akce):
if akce.keysym == "Right" and self.smer != "Left":self.smer="Right"
elif akce.keysym == "Left" and self.smer != "Right":self.smer="Left"
elif akce.keysym == "Up" and self.smer != "Down":self.smer="Up"
elif akce.keysym == "Down" and self.smer != "Up":self.smer="Down"
self.smer = "Right"
self.had=[[1,self.vyska-2],[2,self.vyska-2],[3,self.vyska-2],[4,self.vyska-2],[5,self.vyska-2]]
def __init__(self):
self.rychlost=500
#Vykreslení plochy
for prvek in self.had:#Vykresluju hada
self.vytvor_objekt(prvek[0],prvek[1],"green")
self.okno.after(self.rychlost,self.posun)#Za určitou dobu zavolej funkci self.posun.
self.vytvor_objekt(self.had[0][0],self.had[0][1],"white")#Poslední políčko musí být bílé.
self.had=self.had[1:]#Zkrať seznam políček s hadem.
def zvetsi_hada(self):
if self.smer == "Right":
#Hlava hada se nachází například na souřadnicích [3,3]. Pokud má had zahnout doprava, hlava se přesune na souřadnice [4,3].
self.had.append([self.had[-1][0]+1,self.had[-1][1]])
elif self.smer == "Left":
self.had.append([self.had[-1][0]-1,self.had[-1][1]])
elif self.smer == "Up":
self.had.append([self.had[-1][0],self.had[-1][1]-1])
elif self.smer == "Down":
self.had.append([self.had[-1][0],self.had[-1][1]+1])
def posun(self):
self.vytvor_objekt(self.had[0][0],self.had[0][1],"white")
self.had=self.had[1:]
self.zvetsi_hada()
self.vytvor_objekt(self.had[-1][0],self.had[-1][1],"green")#Vykresli políčko, které bylo vygenerováno ve funkci zvetsi_hada.
self.okno.after(self.rychlost,self.posun)
self.jidlo=[5,5]
self.vytvor_objekt(self.jidlo[0],self.jidlo[1],"red")
def pridej_jidlo(self):
while 1:
x=random.randint(1,self.sirka-2)
y=random.randint(1,self.vyska-2)
if [x,y] not in self.had:break
self.jidlo=[x,y]
self.vytvor_objekt(self.jidlo[0],self.jidlo[1],"red")
if self.had[-1] == self.jidlo:
self.pridej_jidlo()
self.zvetsi_hada()
self.vytvor_objekt(self.had[-1][0],self.had[-1][1],"green")
hlava=self.had[-1]
#Když je x nebo y rovno nule, když x je rovno šířce-1, nebo když y je rovno výšce-1, had narazil.
if hlava[0] == 0 or hlava[0] == self.sirka-1 or hlava[1] == 0 or hlava[1] == self.vyska-1:
self.konec()
#A nyní přijde kontrola, zda had nenarazil do sebe:
novy_seznam=[]
for prvek in self.had:
if prvek not in novy_seznam:
novy_seznam.append(prvek)
if len(self.had) != len(novy_seznam):
self.konec()
def konec(self):
self.okno.destroy()
když to pustím oběví se okno ale žádná mřížka ani had
a když to okno zavřu napíše to
Traceback (most recent call last):
File "C:\WINDOWS\Plocha\VÍT\python\had.py", line 12, in <module>
self.platno=Canvas(width=self.sirka*30,height=self.vyska*30)
NameError: name 'self' is not defined
co s tím mám dělat
jo chtěl bych se taky zeptat jak je na tom python v porovnání s dalšíma jazykama, jestli má cenu se ho učit a jestli se v něm daj programovat 3D hry, rád bych programoval 3D hry a zatím se mi python docela líbí.
Kde všude se dá užít?
hehe,nějak jsi přeskočil z "random" modulu až k poměrně pokročilýmu hadovi,ne?a to za jeden den:-)bravo:-)
s tím hadem ti neporadím,na to nestačím:)
k tomu porovnání,využití etc.-využití najde všude,na všech platformách(systémech),dají se v něm dělat desktopové i webové aplikace,3D hry...samozřejmě grafiku musíš udělat třeba v 3Ds Max,nebo Blenderu:-)
kdyby tě zajímalo kde všude se python využívá,tak je to třeba v Googlu,NASA(plánování letů co jsem tak slyšel),ILM(tvůrci her Star Wars-3D hry:-)),EVE Online-to je MMORPG(taky 3d a navíc online:D),je v něm napsaný Total Commander,velká část KDE v Linuxech(možná i GNOME,nevim:-))
jak vidíš tak P pokrývá hodně velkou oblast využití a navíc když ti vyhovuje tak není co řešit;-)
To selkir: hele, říká ti něco OOP?
http://programujte.com/view.php?cisloclanku=2006020501-Python---15.-lekce
Najdete zde články zabývající se matematikou základních a středních škol a databázi hlavolamů.
Pro vyzkoušení Vaš
no, že ten článek o Hadovi je mířen pro ty, kteří už s OOP mají zkušenosti. Takže všechen kód musí být ve třídě...
Najdete zde články zabývající se matematikou základních a středních škol a databázi hlavolamů.
Pro vyzkoušení Vaš
jo, vím... snad všechno. si to jenomo copy & paste z toho článku ne? Jak říkám, než to pochopíš, tak se nauč OOP...
Najdete zde články zabývající se matematikou základních a středních škol a databázi hlavolamů.
Pro vyzkoušení Vaš
mám takový problém
veta="Python je skvely objektove orientovany, interpretovany a interaktivni programovaci jazyk."
delka=len(veta)
poslednipismeno=delka-1
print veta[poslednipismeno]
tak mi to vytiskne 88, místo nějaké písmeno
a ještě jak udělat aby byla věta pozpátku myslím, že takhle ale chtěl bych opět naznačit jestli ne
print veta[-1:-89]
a ještě prosím naznačit jak bych měl hledat prostřední znak-to nějak nevím
předem dik moc
přeci jen jsem začátečník
jo a geona bych se chtěl zeptat jestli můžu ještě posílat úkoly a jak na to
Hele, selkirku, nevím co tě učí ve škole, ale zde je slušnost s každou novou otázkou zakládat nové téma. Je to kvůli lepší přehlednosti. Víš, kdybys byl první, tak bych možná reagoval, ale již je podobných věcí příliš. Taky by mě potěšilo, kdybych viděl nějaké věty - věta začíná velkým písmenem a končí tečkou ;-)
když neřekneš jaké písmeno chceš vytisknout,tak to je pak těžký....tak mi to vytiskne 88, místo nějaké písmeno
jestli jsi chtěl vytisknout poslední písmeno,jak napovídá kód,tak na to si zkus přijít sám..poslední prvek má index -1;-)
přijde mi to jakože se vůbec nesnažíš...jednou ti něco nefunguje,tak to sem hned píšeš...podle mě jsou tutoriály od geona skvěle napsané, určitě v těch začátečních lekcích stačí zapojit alespoň minimálně mozek...musíš to zkusit několikrát,ne jednom jednou,nebo dvakrát. Neříkám, že jsem nějak extra zkušenej v Pythonu, ale snažím se co to jde:-)
zkus se zaregistrovat, není to složitější než procházení řetězcem:)
To selkir:
Tak mi to vytiskne 88, místo nějaké písmeno
Nevím jak si to pouštěl, ale mě to funguje:
>>> veta="Python je skvely objektove orientovany, interpretovany a interaktivni programovaci jazyk."
>>> delka=len(veta)
>>> poslednipismeno=delka-1
>>> print veta[poslednipismeno]
.
Najdete zde články zabývající se matematikou základních a středních škol a databázi hlavolamů.
Pro vyzkoušení Vaš
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
Idle, Powersave,... — založil Deko
Button v tkinteru nejde v idle — založil Dany
Nejde spustit IDLE(python gui) — založil jvjak-py
IDLE se chová jinak než Python cmd (čeština) — založil Carduus
Moderátoři diskuze