Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Lubomir Kremelka:19.6.2020 13:23

Ahoj, začínám a mám problém. Tento kód kupodivu běží, ale mě na win10 po zadání čísla(jakého koliv ) vypíše print(type)benzin)) "str" místo "int". Kamarádovi s linuxem to funguje bez problémů. Nevím co si mám změnit ve WIN10 aby to běželo. Díky za rady:)

benzin = input("kolik jsi natankoval)

print(type(benzin))

if type(benzin) is float:
    km = int(input("pocet KM: "))

elif type(benzin) is int:
    km = int(input("pocet KM: "))

else:
    print("mas to blbe, zadej cislo ")

vypocet = int((benzin / km) * 100)
print("spotreba benzinu je: ", vypocet, "L/100km")

Zkusil jsem: zkoušel jsem měnit UTF-8 po zapnutí žádná změna.

Chci docílit: Funkčnost pod win 10

 
Odpovědět
19.6.2020 13:23
Avatar
Odpovídá na Lubomir Kremelka
Patrik Valkovič:19.6.2020 14:50

Ahoj. Input vždy vrátí string, musíš nejprve přetypovat vstup na float.

benzin = input()
benzin = float(benzin)
Nahoru Odpovědět
19.6.2020 14:50
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
Odpovídá na Patrik Valkovič
Lubomir Kremelka:19.6.2020 18:57

Děkuji za info. U sebe to změním a vyzkouším to jinak. Ale i tak nechápu proč na Linuxu to fungovalo a "input" mu vyhodil když zadal číslo tak "int" nebo "float" když dal desetinou tečku.

x = input()
print (type(x))

když zadal třeba 55 mu to dalo "int" . U mě na win "str"

 
Nahoru Odpovědět
19.6.2020 18:57
Avatar
Odpovídá na Lubomir Kremelka
Patrik Valkovič:19.6.2020 19:41

Pravděpodobně protože použil Python2, kde je vstup ještě vyhodnocen jako Python expression (!?!?WTF koho to napadlo), takže ho "zkonvertuje" do typu int nebo float. Python3 už pouze vrátí string (ale to je dobře). To stejné je v Pythonu2, pokud by byl použit raw_input().

EDIT: Na Linuxu je pořád by default Python2 (tj. při zadání příkazu python se spustí dvojka), zatímco pro Python3 musí člověk zadat python3 file.py. Jde to ověřit python --version resp. python3 --version. Vsadím se, že to spustil v Pythonu2 a ani o tom nevěděl.

Editováno 19.6.2020 19:43
Nahoru Odpovědět
19.6.2020 19:41
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
Lubomir Kremelka:19.6.2020 19:50

Super vysvětlení. Díky. Zítra se podívá jaky Python má, tak napíšu.
Fajn vědět, že nemusím řešit problém který není.

Ještě jednou oběma Díky.

 
Nahoru Odpovědět
19.6.2020 19:50
Avatar
Odpovídá na Patrik Valkovič
Lubomir Kremelka:20.6.2020 20:22

Přesně jak píšeš :-) Python2. Pro mě záhada vyřešena. Díky

 
Nahoru Odpovědět
20.6.2020 20:22
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.