Permalänk
Medlem

Python

Letade efter någon samlingstråd för Python programmering men hittade ingen så jag tänkte att jag kunde starta en, där man kan visa upp vad man gjort och få hjälp med lite allt möjligt.
Själv är jag inget Python pro, jag har precis börjat och kan därför ställa första frågan.

Jag har försökt göra ett script som räknar upp alla tal i en multiplikationstabell med ett valfritt maxtal.
Dock så har jag stött på ett problem:
"TypeError: unorderable types: int() <= str()"

Här är min modul(?):
x = input('Skriv ditt maxtal: ')
y = input('Skriv multiplikationstabellen du vill se: ')
n = 0
while n <= x:
if n % 2 == 0:
print (n)
n = n + y
Vad är felet?

Visa signatur

-Gaming: | NZXT Lexa S | Core i5 750 @ 3 GHz | XFX 5850 xXx | Asus P7P55D EVO | Corsair Dominator 4GB | NH-D14 | WD Caviar Black 750GB
-Programmering/grafiskt: | MacBook Pro 13.3" | SSD 128GB | Ubuntu 8.10

Permalänk
Medlem

Jag har själv aldrig använt python men antagligen sparar input() funktionen tecknena som en string istället för en int. Och då kan inte python göra någon beräkning. Jag vet inte om det finns en annan funktion för int-input's. Annars kan du kanske göra en typkonvertering till int.

Visa signatur

Citera eller nämn gärna mig (@ToJa92) om du svarar på något jag skrivit.
Uppskattar du eller blir hjälpt av ett inlägg jag skrivit är jag tacksam om du gillar det.

Permalänk
Medlem

Ok, tack, jag har testat med lite olika men inte fått det att fungera =(

Visa signatur

-Gaming: | NZXT Lexa S | Core i5 750 @ 3 GHz | XFX 5850 xXx | Asus P7P55D EVO | Corsair Dominator 4GB | NH-D14 | WD Caviar Black 750GB
-Programmering/grafiskt: | MacBook Pro 13.3" | SSD 128GB | Ubuntu 8.10

Permalänk
Medlem

Testa:
x = int(raw_input('Skriv ditt maxtal: '))

(fick fram detta genom att söka lite snabbt)

Självklart måste du ändra den andra också.

Visa signatur

Citera eller nämn gärna mig (@ToJa92) om du svarar på något jag skrivit.
Uppskattar du eller blir hjälpt av ett inlägg jag skrivit är jag tacksam om du gillar det.

Permalänk
Medlem

Det fungerade, TACK!!!!!

Edit: Jag har nu problem igen, när man tar jämna multiplikationstabeller funkar det bra men när man kör udda tabeller går det åt h-e. T.ex. 3:an: 6 12 18 24... eller 5:an 10 20 30 40... eller 11:an 22 44 66 88... De udda talen:s tabeller dubblas :-/
Någon som har någon ide?

Scriptet:
print('Det här programmet räknar ut alla tal i en mutiplikationstabell.\n')
y = int(input('Skriv multiplikationstabellen du vill ha uträknad: '))
x = int(input('Skriv ditt maxtal: '))
n = 0

while n <= x:
if n % 2 == 0:
print (n)
n = n + y

Visa signatur

-Gaming: | NZXT Lexa S | Core i5 750 @ 3 GHz | XFX 5850 xXx | Asus P7P55D EVO | Corsair Dominator 4GB | NH-D14 | WD Caviar Black 750GB
-Programmering/grafiskt: | MacBook Pro 13.3" | SSD 128GB | Ubuntu 8.10

Permalänk
Medlem
Skrivet av J3H:

Det fungerade, TACK!!!!!

Edit: Jag har nu problem igen, när man tar jämna multiplikationstabeller funkar det bra men när man kör udda tabeller går det åt h-e. T.ex. 3:an: 6 12 18 24... eller 5:an 10 20 30 40... eller 11:an 22 44 66 88... De udda talen:s tabeller dubblas :-/
Någon som har någon ide?

Scriptet:
print('Det här programmet räknar ut alla tal i en mutiplikationstabell.\n')
y = int(input('Skriv multiplikationstabellen du vill ha uträknad: '))
x = int(input('Skriv ditt maxtal: '))
n = 0

while n <= x:
if n % 2 == 0:
print (n)
n = n + y

Det blir ju så eftersom du bara skriver ut de tal som är jämnt delbara med 2.

Visa signatur

I'm Winston Wolfe. I solve problems.

Permalänk
Medlem

Oj , klumpigt av mig, tack iaf.

Visa signatur

-Gaming: | NZXT Lexa S | Core i5 750 @ 3 GHz | XFX 5850 xXx | Asus P7P55D EVO | Corsair Dominator 4GB | NH-D14 | WD Caviar Black 750GB
-Programmering/grafiskt: | MacBook Pro 13.3" | SSD 128GB | Ubuntu 8.10