I want to create a set containing both integers and floats. Something like this:

```
s = {4, 6.7, 2.12, 9}

```

However, I ran into something unexpected (at least to me): I cannot add both `9` (an integer) and `9.0` (a float). Here is an example:

```
>>> s = {4, 6.7, 2.12, 9}
>>> s
{9, 2.12, 4, 6.7}
>>> s.add(9.0)
>>> s
{9, 2.12, 4, 6.7}

```

1. Why is this happening?
2. How can I add *both* numbers to my set?

I don't want `9.0 in s` to hold true if I did not add the float number to my set. I really can't figure out how to do it.

As a side note, I noticed that this is true also with keys of a dictionary. So I can't map `3` and `3.0` to different values.