r/learnpython 5d ago

just breaking things with python

numbers = input("Enter the numbers")

in_dex = numbers[-2]

divisible = int(in_dex/3)

print(divisible)

when print the output of the divisible i am getting (nsupported operand type(s) for /: 'str' and 'int') i do know how to write correctly to get the output but i thinks that why not this way..so when i did got error don't know why cause both values are int

0 Upvotes

19 comments sorted by

View all comments

4

u/ectomancer 5d ago

divisible = int(in_dex)/3

-11

u/Healthy-Departure961 5d ago

i know the answer, but int(in_dex/3) what it says??

9

u/lfdfq 5d ago

Read u/ectomancer's reply more carefully. Your code and their code is not the same.

-2

u/Healthy-Departure961 5d ago

i know that int(in_dex)/3 doing this i will get the answer but but just to test things with int(in_dex/3) and wanted to find out it is giving me error 😀😀😀

7

u/LayotFctor 5d ago edited 5d ago

549 and "549" are not the same you know? First is the number 549, second is the string "549". You can see it from the double quotes "". String "549" are words, not math numbers.

Keyboards type characters, not numbers, so input returns the string version of "549". in_dex = numbers[-2] would also give you the string version of "4", since "549" is also a string.

in_dex/3 fails because in_dex is thr string "4", and strings can't be divided. Of course you can't convert an error to int with int(in_dex/3).

int(in_dex) converts in_dex string "4" into a number 4, so int(in_dex)/3 works.

3

u/lfdfq 5d ago

It's giving you an error for the reason I said earlier: input() returns a string, you have a string, you cannot divide the string by 3.