Search code examples
pythonif-statementsyntax-error

I am getting this error int() argument must be a string, a bytes-like object or a real number, not 'set'


Why I am getting this error I am creating a triangle

int() argument must be a string, a bytes-like object or a real number, not 'set'

Code snippet:

a, b, c = input().split()
print(f'A : {a}, B : {b}, C : {c}')
sisi_terpanjang = {a}
sisi_pertama = {b}
sisi_kedua = {c}
if int(sisi_terpanjang)**2 == int(sisi_pertama)**2 + int(sisi_kedua)**2:
  print("segitiga siku-siku")
if int(sisi_terpanjang)**2 < int(sisi_pertama)**2 + int(sisi_kedua)**2:
  print("segitiga lancip")
if int(sisi_terpanjang)**2 > int(sisi_pertama)**2 + int(sisi_kedua)**2:
  print("segitiga tumpul")

and the error in cell:

if int(sisi_terpanjang)**2 == int(sisi_pertama)**2 + int(sisi_kedua)**2:

Solution

  • The error you're encountering is because you're trying to convert sets/list {} to integers using int(), which is not valid. You can simply set sisi_xxx to int like this. Here is the modified code:

    a, b, c = input().split()
    print(f'A : {a}, B : {b}, C : {c}')
    sisi_terpanjang = int(a)
    sisi_pertama = int(b)
    sisi_kedua = int(c)
    if sisi_terpanjang**2 == sisi_pertama**2 + sisi_kedua**2:
        print("segitiga siku-siku")
    if sisi_terpanjang**2 < sisi_pertama**2 + sisi_kedua**2:
        print("segitiga lancip")
    if sisi_terpanjang**2 > sisi_pertama**2 + sisi_kedua**2:
        print("segitiga tumpul")
    

    You can check on my kaggle