6 svar
32 visningar
Qetsiyah är nöjd med hjälpen!
Qetsiyah Online 4733 – Volontär digitala räknestugor
Postad: 5 sep 2020 Redigerad: 5 sep 2020

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 11645
Postad: 5 sep 2020 Redigerad: 5 sep 2020

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)

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

Tigster Online 236
Postad: 5 sep 2020 Redigerad: 5 sep 2020

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 11645
Postad: 5 sep 2020 Redigerad: 5 sep 2020

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 Online 4733 – Volontär digitala räknestugor
Postad: 5 sep 2020 Redigerad: 5 sep 2020

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

Laguna 11645
Postad: 5 sep 2020

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

Svara Avbryt
Close