@woop_woop
@lemmy.worldEh, degrees can be overrated. I don't have one and it hasn't hindered me at all. Ultimately, it depends what kind of work you want to get into and your drive to self learn, how quick you can pick things up, and adaptability. You got this.
That's fair, I was trying to be a bit vague since you're learning and wanted to help point you to the solution. Went a little too vague with it 🙂
the signature for the input
function (that's what it's called instead of command) is
def input(__prompt: Any = ...) -> str
which means it's always going to return a string.
So it starts off as a string, then becomes whatever is typed in
there's no real way for something to do that automatically without a much more robust setup.
this snippet proves that
test_int = input('enter integer:')
print(type(test_int))
test_float = input('enter float:')
print(type(test_float))
test_str = input('enter string:')
print(type(test_str))
>> <class 'str'>
>> <class 'str'>
>> <class 'str'>
it is the responsibility of your program to validate and do whatever you want with the result, and part of that can include casting it to a different type.
The traceback should give you an idea of what's going on, but you can test for yourself by checking the result of input:
test = input('enter number:')
print(type(test))
Another question to ask is "why did you cast 'h' as a float?" And what happens if you just do h + r?
picture of two guys kneeling in front of a wall
Bullshit feely caption that doesn't make sense to any who understands the words being used
Internet: omg, so wholesome!