Problém s proměnné – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Problém s proměnné – Python – Fórum – Programujte.comProblém s proměnné – Python – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Sebastian
~ Anonymní uživatel
3 příspěvky
9. 9. 2014   #1
-
0
-

Dobrý den,

rád bych se zeptal,když mám

import random

lol= input(random.randint(1,10))
lol2= input(random.randint(1,10))

a potom chci

 vys=lol * lol2

tak mi to napíše

Traceback (most recent call last):
  File "C:/Users/User/Desktop/programing Sebik/program na násobilku.py", line 10, in <module>
    vys=lol * lol2
TypeError: can't multiply sequence by non-int of type 'str'

přitom chci jenom číslo co vyjde v "lol" vynásobit "lol2"

ps:  sem úplný začatečník

Nahlásit jako SPAM
IP: 193.179.139.–
Reklama
Reklama
Kit+11
Guru
9. 9. 2014   #2
-
+2
-
Zajímavé

#1 Sebastian
Ta funkce input() tam nepatří.

Nahlásit jako SPAM
IP: 37.48.39.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
sleepy
~ Anonymní uživatel
422 příspěvků
9. 9. 2014   #3
-
0
-

Ono ti to hovori, ze sekvencia (teda string v pythone str) ma definovanu metodu __mul__, len tak ze do nej moze vstupit parameter typu int (teda cele cislo). Ak by si tam zadal cele cislo tak ti to vygeneruje novu sekvenciu, ktora vznikne zo starej n - nasobnym opakovanim. Ale toto nechces, cize ak chces nacitat dve cisla pomocou inputu musis ich najskor sparsovat (prelozit zo str do int). To urobis pomocou class-u int:

Nahlásit jako SPAM
IP: 213.215.67.–
sleepy
~ Anonymní uživatel
422 příspěvků
9. 9. 2014   #4
-
0
-

#3 sleepy
 

a = int(raw_input('Zadaj cislo a: '))  # tu to pretypujes
b = int(raw_input('Zadaj cislo b: '))  # aj tu

print a * b

Joj teraz som si vsimol, ze ti rozpravam strasne hluposti. Funkcia input si to hned pretypuje, kedze sa executuje ako python code, co nie je najbezpecnejsie pouzivat. Lepsi je raw_input ten ti to vrati ako string. Tam je chyba v tom co si napisal ked to od teba ziadalo nejake nahodne cislo od 1 do 10. Ak 2 krat za sebou napises cislo a potvrdis tak to bude robit co chces.
 

Nahlásit jako SPAM
IP: 213.215.67.–
gcx110
Návštěvník
10. 9. 2014   #5
-
0
-

#4 sleepy
A jak víš, že používá Python 2?

V Pythonu 3 (ano - ta verze existuje!), už raw_input není.

Změny 2 -> 3:

raw_input("nějaký text") => input("nějaký text")

input("nějaký text") => exec(input("nějaký text"))

Nahlásit jako SPAM
IP: 79.110.44.–
sleepy
~ Anonymní uživatel
422 příspěvků
10. 9. 2014   #6
-
+1
-
Zajímavé

#5 gcx11
Aha tak to potom vsetko vysvetluje. No cize mu staci to iba sparsovat vystup s inputu, class int je predpokladam v oboch rovanky.

Nahlásit jako SPAM
IP: 213.215.67.–
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, 20 hostů

 

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