+ 3
How do you determine types of variables in python?
So basically, I want to try to make the code do something if type(x) is int of float: do something. Else: print("error") But it doesn't seem to work, because It always prints error no matter what. https://code.sololearn.com/cM4veVi65Es1/?ref=app
7 Respuestas
+ 9
Hi, thanks for sharing your code. Now it's clear what you are trying to do. As you use input() function, everything you type in will be returned as a string. So 5 gets "5", 2.45 gets "2.45", True gets "True".
What you can do is, to try getting the input as the desired data type. If you expect to get an int, you can use
Inp = int(input("enter an integer number: "))
As long as the user does a correct input, this does work. If not, the program will crash with an exception. But you should use try:... except:... block.
You could also go a way, by just accepting that input always generates strings, but try to figure out what type of data it contains. You could use string methods like
if inp.isdigit():
to get the real data type. So also take a look at the python docs to find more about this.
+ 11
Here is some code that may help you. But anyway - please post your code here.
a = 1
b = 'hello'
c = [1,2,3]
d = (4,5,6)
e = {7,8,9}
f = {'a': 1, 'b': 2}
print(type(a))
print(type(b))
print(type(c))
print(type(d))
print(type(e))
print(type(f))
# output:
'''
<class 'int'>
<class 'str'>
<class 'list'>
<class 'tuple'>
<class 'set'>
<class 'dict'>
'''
so you can do:
if type(a) == int:
# do something ...
+ 7
Can you please share your code here? This makes it much easier for people who want to help. Thank's!
+ 5
leave your input as it is... a string..
Make a try....block that tries to convert your input to an int/float and do what ever you need to do with that int/float...
In the except part for the try block print out the string length.
+ 4
Your code is only prompting for a string input, therefore the output is always the length of the input.
Example: input => 365
is string input => length 3
So your code needs to be able to identify if a text character can be converted to an integer.
if you can write a bit of code to do that, then converting it will be easy and your code will work.
Have a play, post again if you can't resolve
+ 3
This is simply a checker but its functional. I would appreciate if you post your attempt.
checkIntFloat = lambda n: type(n) in [int,float]
+ 1
Dzaan Svetski Bichi
A little code attached which may help.
https://code.sololearn.com/cY0b2nKlSE5f/?ref=app