6 svar
111 visningar
Qetsiyah är nöjd med hjälpen
Qetsiyah 6503 – Livehjälpare
Postad: 5 sep 2020 17:53 Redigerad: 5 sep 2020 17:53

Problem med hemgjord miniräknare

Ger errorn:

Traceback (most recent call last):
File "C:/Users/hansc/PycharmProjects/hansji-formativa-uppgifter/Kub-miniräknare.py", line 5, in <module>
print(a**3+b**3)
TypeError: unsupported operand type(s) for ** or pow(): 'str' and 'int'

Vad är problemet?!

Laguna Online 28517
Postad: 5 sep 2020 17:55 Redigerad: 5 sep 2020 17:55

a och b är strängar. Du får göra om dem till heltal med int(a) osv.

Edit: eller flyttal med float(a)

Qetsiyah 6503 – Livehjälpare
Postad: 5 sep 2020 17:56

Det var det jag provade med print(a) ovan, det är en variabel!

Tigster 271
Postad: 5 sep 2020 17:56 Redigerad: 5 sep 2020 17:59

Du måste casta om dina variabler till int, i C görs det mha  (int) a, tror det är int(a) i Python.

ja, de är variabler (eller objekt) av en viss datatyp. Prova skriv print(type(a)) (osäker på Python syntax dock). Då får du se att typen inte är int(eger).

Laguna Online 28517
Postad: 5 sep 2020 17:59 Redigerad: 5 sep 2020 18:02

Det syns ingen skillnad när du gör print.

Edit: om du vill se skillnad, för debugändamål, så kan du använda print(repr(a)). 'repr' ger representationen av ett objekt i Python-syntax.

Qetsiyah 6503 – Livehjälpare
Postad: 5 sep 2020 18:10 Redigerad: 5 sep 2020 18:10

Okej! Tack! Det funkade när jag använde float()

Laguna Online 28517
Postad: 5 sep 2020 18:14

Det här är en av skillnaderna mellan Python 2 och 3.

Svara Avbryt
Close