Problém se spuštěním programu – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Problém se spuštěním programu – Python – Fórum – Programujte.comProblém se spuštěním programu – Python – Fórum – Programujte.com

 

Ahoj30
Návštěvník
25. 4. 2010   #1
-
0
-

Napsal jsem si program (ze 4.lekce)
Zkopíroval jsem si ale ještě jsem si v něm zkopíroval některé věty 2x abych to nemusel psát 2x.
Po ulozeni se mi objevilo nové okno s nazvem I/O Warning a v něm # -*- coding: cp1250 -*-
Mohl jsem dát Ok nebo edit my file radši jsem dal OK ani jsem nevěděl co se to děje.
Když ale pak spustím program napíše mi to chybu:

SyntaxError:Non ASCII character'\xec' in file C:\programy\lekce44444.py on line 27, but no encoding declared

Program vypadá takto chybu jsem tam nenašel:


print 'Trasa ma 250m.'

print '1.auto ji ujede za 7s'
draha = 250.0
t1 = 7
a1v1 = draha/t1
a1rychlost = round(a1v1,1)
a1v2 = a1rychlost * 3.6
a1rychlost2 = round(a1v2,1)
print '1.auto jelo rychlosti:',a1rychlost,',', a1rychlost2,' km/h'
t2 = input('Zadejte za kolik sekund ma ujed tuto drahu 2.auto: ')
a2v1 = draha/t2
a2rychlost = round(a2v1,1)
a2v2 = a2rychlost * 3.6
a2rychlost2 = round(a2v2,1)
print '2.auto jelo rychlosti:',a2rychlost,'m/s, ',a2rychlost2,'km/h'
if a1rychlost2>100:
print '1.auto prekrocilo rychlost 100km/h.'
if a2rychlost2>100:
print '2.auto prekrocilo 100km/h.'
if a1rychlost2>a2rychlost2:
rychlejsi=a1rychlost2 - a2rychlost2
print '1.auto je rychlejsi o', rychlejsi,'km/h nez 2.auto'
if a2rychlost2>a1rychlost2:
rychlejsi2=a2rychlost2 - a1rychlost2
print '2.auto je rychlejsi o',rychlejsi2,'km/h nez 1.auto'
if a1rychlost2 == a2rychlost2:
print 'Obe auta jedou stejně rychle.'


Nahlásit jako SPAM
IP: 213.220.248.–
Ahoj30
Návštěvník
25. 4. 2010   #2
-
0
-

Předtím zkopírování program šel.

Nahlásit jako SPAM
IP: 213.220.248.–
Blujacker
~ Moderátor
0
Grafoman
25. 4. 2010   #3
-
0
-

To Ahoj3 : chyba je imho někde v kodování
ulož soubor v utf-8 a na začátek souboru přidej



#-*- coding: utf-8 -*-

Editoval Blujacker: popřípadě si utf-8 nahrad jiným kodováním :-) třeba cp1250

Nahlásit jako SPAM
IP: 84.42.166.–
Navštivte server Matematika pro každého
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š
Ahoj30
Návštěvník
25. 4. 2010   #4
-
0
-

Už to funguje :)

Nahlásit jako SPAM
IP: 213.220.248.–
filippop0
Návštěvník
25. 4. 2010   #5
-
0
-

Ahoj Ahoj3 :)
To je přesně ono... Python Ti sám napsal, co je špatně.
Ta první chyba:

I/O Warning a v něm # -*- coding: cp1250 -*-

říká, že nějaká část programu je v jiném kodování - konkrétně cp1250 = kódování windows.

Ta druhá

SyntaxError:Non ASCII character'\xec' in file C:\programy\lekce44444.py on line 27, but no encoding declared

zase říká to samé a sice že nějaká část není v ASCII, jak program očekává, ale je v něčem jiném a to jiné není deklarováno - uvedeno.

Takže chybu hledej v kódu a konkrétně na 27. řádku.
Tipoval bych to na to "e" s hačkem v posledním printu
print 'Obe auta jedou stejně rychle.' 



Takže tam buď napíšeš jen e bez háčku a nebo deklaruješ kódování a to uděláš tak, že na první řádek napíšeš:
# -*- coding: cp1250 -*-

(Což patrně bude i v tom příkladu, ale jak jsi kopíroval jen nějakou část, tak jsi na to zapoměl).
Velmi doporučuju nic nekopírovat a všechno si psát sám, jednak si to tím lépe zapamatuješ, naučíš se jak se má pythonsky kód psát (pokud bude vzor správně) a hlavně si na všech možných překlepech ověříš jak fungují chybové hlášení a na co si dát pozor.
**********************************
Dále bych ještě opravil překlep

ma ujed tuto drahu


A taky prosím vkládej sem na forum kody v tagu "kód" - líp se to čte a zobrazuje to i čísla stránek.

Docela by mě zajímalo, jak by se s tím vyrovnal Python 3.1, který už nemá jako výchozí kódování ASCII, ale UTF8, ale nemám to momentálně na čem otestovat.

Nahlásit jako SPAM
IP: 77.78.86.–
Ahoj30
Návštěvník
26. 4. 2010   #6
-
0
-

Promiň ale nevim co je to kod v tagu myslíš jako abych to psal takto :



import random
ahoj = AhojSvete
print ahoj
y = random.randint (1,10)
print y,' x 5'

Editoval Blujacker: doplněn tag code

Nahlásit jako SPAM
IP: 84.42.182.–
Blujacker
~ Moderátor
0
Grafoman
26. 4. 2010   #7
-
0
-

To Ahoj3 :
zdrojováý kod vkládej mezi [ code] a [/code ]

Nahlásit jako SPAM
IP: 84.42.166.–
Navštivte server Matematika pro každého
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š
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, 11 hostů

Podobná vlákna

Problé se spuštěním. — založil SibleR

 

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