Question: I am completely new to programming. However, I just wanna write a simple bit of code on Python, that allows me to input any data and the type of the data is relayed or 'printed' back at me. 

The current script I have is:

```
x = input()
print(x)
print(type(x))

```

However, regardless of i input a string, integer or float it will always print string? Any suggestions?

Answer: 
In Python `input` always returns a `string`.
If you want to consider it as an `int` you have to convert it.

```
num = int(input('Choose a number: '))
print(num, type(num))

```

If you aren't sure of the type you can do:

```
num = input('Choose a number: ')
try:
    num = int(num)
except:
    pass
print(num, type(num))

```
1111 or 1.10 are valid strings
------------------------------

If the user presses the "1" key four times and then Enter, there's no magic way to tell if they wanted to enter the number 1111 or the string "1111". The input function gives your program the arbitrary textual data entered by user as a string, and it's up to you to interpret it however you wish.

If you want different treatment for data in particular format (e.g. if they enter "1111" do something with it as a number 1111, and if they enter "111x" show a message "please enter a valid number") then your program needs to implement that logic.