## Objective

Output three input numbers in ascending order.

## Difficulty

## Description

Ask the user to input three different integers by means of three different input prompts.

The general form of all the three input prompts together is shown as follows:

*<input>*

y:

*<input>*

z:

*<input>*

Once this is done, finally output these numbers in ascending order (i.e. smallest number first, largest number last) in the following format .

*<int1>*

*<int2>*

*<int3>*

Where `<int1>`

, `<int2>`

, and `<int3>`

, are the input numbers.

Below shown is an example:

y: 32

z: 50

## New file

Inside the directory you created for this course on Python, create a new folder called **Exercise-3-Sorted-Numbers** and put the .py solution files for this exercise within it.

## Solution

We need to get three inputs from the user, hence we start by laying out three different `input()`

calls.

One is for `x`

, the second is for `y`

, and the third for `z`

.

```
x = input('x: ')
y = input('y: ')
z = input('z: ')
```

With this done, we then convert each input value into an integer; as always, using `int()`

:

```
x = input('x: ')
y = input('y: ')
z = input('z: ')
x = int(x)
y = int(y)
z = int(z)
```

Then we create a list `ints`

holding these three integers (`x`

, `y`

and `z`

) followed by calling the `sort()`

method on the list. The list is needed so that we could easily sort the numbers.

```
x = input('x: ')
y = input('y: ')
z = input('z: ')
x = int(x)
y = int(y)
z = int(z)
ints = [x, y, z]
# sort ints in ascending order
ints.sort()
```

To end with, we print all the three elements of the list (which is now in sorted order), one after another by means of passing them as arguments to `print()`

.

```
x = input('x: ')
y = input('y: ')
z = input('z: ')
x = int(x)
y = int(y)
z = int(z)
ints = [x, y, z]
# sort ints in ascending order
ints.sort()
print('Sorted numbers:', ints[0], ints[1], ints[2])
```

This completes our exercise!

Note that the code shown here can be shortened down quite a bit.

Firstly, we could inline the calls to `int()`

where we call `input()`

.

```
x = int(input('x: '))
y = int(input('y: '))
z = int(input('z: '))
ints = [x, y, z]
# sort ints in ascending order
ints.sort()
print('Sorted numbers:', ints[0], ints[1], ints[2])
```

Secondly, we could directly call `' '.join(ints)`

to print the elements of `nums`

, with a space character between them, instead of having to manually write each one in the `print()`

function.

```
x = int(input('x: '))
y = int(input('y: '))
z = int(input('z: '))
ints = [x, y, z]
# sort ints in ascending order
ints.sort()
print('Sorted numbers:', ' '.join(ints))
```

This we shall see how to do, in the chapter Python String Basics, when we understand the `join()`

method of strings.