Začínám se učit s Pythonem, ale narazil jsem na problém.
import random
a = random.randint(1, 10)
b = random.randint(1, 10)
c = a * b
print("Kolik je", a, "x", b, "?")
d = input()
if d == c:
print("Spravne!", a, "x", b, "=", c)
else:
print("Spatne!", a, "x", b, "je", c)
Takhle jsem napsal program na zkouseni pro lekci 2 (vim jak by se dalo udelat to ostatni, nekolikrat vyzkouset atd., ale proste se nedostanu pres tadyten problem). Nemuzu donutit program, aby input vzal jako d a porovnal ho s c. Napisu zpravnej vysledek, ale stejne to nevezme jako zpravny. Nevim co delam spatne. ZKousel jsem to dat ciste jenom jako do inputu, ale tam muzu napsat jenom jednu vec, vic jich nevezme, jinak to napise tohle.
input expected at most 1 arguments, got 5
Uz nevim co s tim mam udelat abych to prinutil, aby to fungovalo.
Fórum › Python
Problémm s počítáním a inputem
Předpokládám, že používáš Python 3 (pokud ne, tak místo input bys měl používat raw_input).
Narážíš na důležitou věc a tou jsou typy. Proměnná má vždy nějaký typ dat, které obsahuje (typy = celé číslo, desetinné číslo, písmena, bod, komplexní číslo, ...). input vrací vždy proměnnou typu "písmenka" (string), protože koneckonců na ten vstup ty písmenka píšeš. No a proměnná typu string obsahující jedno písmenko a sice 3 se holt nerovná proměnné typu celé číslo hodnoty 3.
Tedy potřebuješ z toho stringu udělat číslo (int). To se dá udělat takto:
int(x)
kde x je proměnná typu string. Taky si můžeš vyzkoušet, co to udělá, když x bude obsahovat něco, co není desetinným zápisem čísla (laicky řečeno co to udělá když se pokusíš převést "blabla" na číslo).
K datovým typům ti asi pro začátek stačí co jsem psal. Ten příkaz int(x) se chová jako funkce - vezme jednu proměnnou a vrátí tu proměnnou převedenou na int. Ten výsledek si asi někam budeš chtít uložit, takže napíšeš
nejaka_promenna = int(d)
Tento řádek teda vezme d, kam se uložil výsledek input(), převede to na int a uloží do nejaka_promenna. A tu už pak můžeš porovnávat s jinými čísly. Teď už bys měl vědět, kam to napsat.
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
Panely v C aby nemohl jeden přes druhy — založil Merlin
ATmega644 - ukazatel na funkci - špatná adresa — založil Smalsoft
Vynulování hondot po dokončení akce — založil soul
Mapa ČR s aktivními odkazy na kraje? — založil Genua
Strom ze vstupu — založil Dave265
Moderátoři diskuze