» Poradna » Programy

Python 3.7 - Kalkulačka kvadratické rovnice

 |   |  Microsoft Windows 7 Chrome 78.0.3904.70

Dobrý večer,dělám kalkulačku na výpočet kvadratické rovnice. Klasickou rovnici v oboru reálných čísel mi to vypočítá v pořádku, v oboru komplexních čísel zvláštně (nevím, jak to udělat správně) a podmínky "fungují různě", i když by měly být zapsány špatně. Nepřeji si, aby jste za mě psali celý kód, ale jenom analyzovali a pomohli mi spravit ten můj (ono to asi vyjde stejně nakonec.) Budu velmi vděčný za každou pomoc, radu. Kód přiložím.

Mohlo by vás také zajímat

Odpovědi na otázku

 |   |  Microsoft Windows 10 Chrome 78.0.3904.70

tak kde je ten kod?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 78.0.3904.70

https://pastebin.com/gmrgBqH9//Zkráceno přehlednějším odkazem s formátováním.Moderátor //

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 78.0.3904.70

Například po dosazení 0 za A mi to vypíše podmínku, která má platit, když se to nerovná nule.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 10 Chrome 77.0.3865.120

V Pythonu je odsazení kódu dost důležité, tady není vidět nic.Proč porovnáváš čísla s textem? To se pak nediv, že se to chová špatně.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Microsoft Windows 10 Firefox 68.0

Protoze vstup uzivatele spravne prevedes z retezce na cislo funkci int(), ale porovnavas ho porad jako by to byl retezec. Misto .... if b=="0" ... pouzij ... if b==0

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Microsoft Windows 10 Firefox 68.0

Drobne zjednoduseni: v Pythonu se ciselna promenna s hodnotou 0 vyhodnocuje jako False (nepravda), takze se daji zkratit podminky takto: https://pastebin.com/DHJJqMRVPro zacatecnika je mozna lepsi ty podminky psat cele, ale kdybys nekde v prikladech potkal tu zkracenou verzi, tak aby te to neprekvapilo.Jo a pouzivej casteji "else" misto "elif" - nemusis psat "elif b != 0" kdyz mas predtim podminku "if b == 0" - v tom okamzku staci else, protoze tam uz je "b" urcite nenulove (nesplnilo podminku "if b == 0")

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Microsoft Windows 10 Firefox 68.0

Dekujeme moderatore :)

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Macintosh OS X AppleMAC-Safari 5.0

a zkus si alespon trochu zoptimalizovat kod, ty "dvojite" vypocty (jednou pro promennou a podruhe pro zobrazeni v informacnim textu) jsou silene. Pak se porad divime, jak jsou programy na cim dal rychlejsim zeleze pomale, jenze "programatori" proste nemysli... Ono to vypada jako drobnost, ale zkus si to pustit ve smycce (samozrejme bez vstupu) v jedne a druhe verzi treba milionkrat a uvidis. A co se v mladi naucis...A pak muzes pokracovat optimalizaci podminek.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 69.0

Taky tam máš matematický nesmysl s tím C.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 81.0.4044.138

Související témata: Python, Rovnice, Kalkulačka, Celý kód