1 – Input and Output (Level 3)

Sample Code

Escape Characters

Escape Sequence Character
\n newline
\t tab
\b backspace
\” double quote
\’ single quote
\\ backslash
\uDDDD Unicode character
print("\u0041")

Simple Input

name = input('Enter your name: ')
print('Hello', name)

Format Output

pounds = 2
exchange = 1.38
print("{0} Pounds = {1} Euros".format(pounds, exchange))

Exercise

  1. Use the \t escape character to print out a noughts and crosses grid, as shown below in fig. 1
  2. Prompt the user to enter their (name). Print out “Hello” (name) “I hope you’re well”
  3. Prompt the user to enter their (name) and their (age). Print out (name) ” is ” (age) “years old.”
  4. Prompt the user to enter two numbers. Print out the sum of those numbers.
  5. Prompt the user to enter two numbers. Print out the average of those numbers.
  6. Prompt the user to enter their name and their age. Print out “Hello” (name) “you are” age “years old.”
  7. Get the computer to tell a Knock Knock Joke. “Knock Knock” (wait for input) “Olivia” (wait for input) “No you don’t, I live here”
  8. Print the dandelion shown in fig. 2
Table 1: fig. 1
o x
x o
o x o

fig. 2

      .--.
    .'_\/_'.
    '. /\ .'
      "||"
       || /\
    /\ ||//\)
   (/\\||/
______\||/_______

Extension

  1. Look up the current pounds to dollars exchange rate. Write a program that prompts the user to input a number of pounds and then outputs how many dollars that is.
  2. To work out your BMI, divide your weight in kilograms by your height in metres squared. In other words BMI = w / h*h. Write a program that prompts the user to input their weight and height, and then outputs their BMI.

Python Levels

The Daily Python questions are levelled as follows. It’s my experience that nearly all students are capable of coding at level 3. Some students need help to progress to subsequent levels.

The following are based on my department’s experience in teaching coding. You may disagree with the levels, you may wish to use them as a starting point for further development, either way, I’d be very interested to hear your opinion.

The level numbers start at 3 to fit in with the old KS3 levelling system.

Level 3

  • Output Strings and numbers
  • Concatenate Strings and numbers
  • Use variables
  • Perform simple arithmetic operations
  • Prompt for user input

Level 4

  • Use if statements with Strings
  • Use if statements with numbers
  • Use if else statements
  • Understand difference between addition and concatenation.

Level 5

  • Elif
  • For loops
  • A list
  • Concise Comments

Level 6

  • Boolean operators AND OR NOT
  • Counts and iterations while loops
  • Nest if statements
  • Functions and parameters

Level 7

  • Nest for, while loops
  • 2D Arrays
  • Scope

Level 8

  • Recursion
  • Modular programming
  • Self-documenting code: high level commenting

– Loop Solutions

2 Loop Solutions

 1: def oneToTen():
 2:         for i in range(1,11):
 3:                 print(i)
 4: 
 5: def oneToTenAcross():
 6:       print("|", end="")
 7:         for i in range(1,11):
 8:                 print(i,"|",end="")
 9: 
10: def oddNumbers():
11:         for i in range(1,21,2):
12:                 print(i)
13: 
14: def squares():
15:         for i in range(1,11):
16:                 print(i*i)
17: 
18: def random4():
19:         for i in range(1,5):
20:                 print(random.randint(1,10))
21: 
22: def even(n):
23:         for i in range(1,n+1):
24: 
25: 
26: def powers(n):
27:         for i in range(1,n+1):
28:                 print(2**i)
29: 
30: def triangle():
31:         for i in range(1,6):
32:                 for j in range(1,i+1):
33:                         print("*", end = "")
34:                 print()
35: 
36: def areWeThereYet():
37:         s = "no"
38:         while (s != "yes"):
39:                 s = input("Are we there yet?")
40:         print ("Good!")
41: 
42: 
43: def tableSquare():
44:         for i in range(1,5):
45:                 for j in range (1, 5):
46:                         print("|",i*j, "\t", end = "")
47:                 print("|")
48: 
49: def tableSquares(n):
50:         for i in range(1,n+1):
51:                 for j in range (1, n+1):
52:                         print("|",i*j, "\t", end = "")
53:                 print("|")

2: Loops

2.1 One to 10

Write a function that prints the numbers 1 to 10

2.1.1 Example

 1: oneToTen()
 2:  *** Output ***
 3: 1
 4: 2
 5: 3
 6: 4
 7: 5
 8: 6
 9: 7
10: 8
11: 9
12: 10

2.2 One to 10 across

In Python 3, you can use the end=”” parameter in print to prevent a newline at the end of a print(). For example, print(“frog”,end=””) will print frog without moving to the next line. Use that to write a function that prints the numbers 1 to 10 across the screen as shown

2.2.1 Example

1: oneToTenAcross()
2:  *** Output ***
3: |1 |2 |3 |4 |5 |6 |7 |8 |9 |10 |

2.3 Odd Numbers

Write a function that prints the positive odd numbers less than 20

2.3.1 Example

 1: oddNumbers()
 2:  *** Output ***
 3: 1
 4: 3
 5: 5
 6: 7
 7: 9
 8: 11
 9: 13
10: 15
11: 17
12: 19

2.4 Square Numbers

Write a function that prints the square numbers up to 100

2.4.1 Example

 1: squares()
 2:  *** Output ***
 3: 1
 4: 4
 5: 9
 6: 16
 7: 25
 8: 36
 9: 49
10: 64
11: 81
12: 100

2.5 Random Numbers

Write a for loop to print out four random integers between 1 and 10

2.5.1 Example

1: random4()
2:  *** Output ***
3: 3
4: 5
5: 2
6: 8

2.6 Even Numbers < n

Write a function to print out the positive even numbers less than n

2.6.1 Example

 1: even(20)
 2:  *** Output ***
 3: 2
 4: 4
 5: 6
 6: 8
 7: 10
 8: 12
 9: 14
10: 16
11: 18

2.7 Powers of 2

Write a function to print out the powers of 2 from 21 up to 2n

2.7.1 Example

 1: powers(8)
 2:  *** Output ***
 3: 2
 4: 4
 5: 8
 6: 16
 7: 32
 8: 64
 9: 128
10: 256

2.8 Are we there yet?

Write a program that outputs “Are we there yet?” and then waits for input. If the input is “Yes” the program outputs “Good!” and exits, otherwise the program loops.

2.8.1 Example

1: "Are we there yet?"
2: No
3: "Are we there yet?"
4: Spoons
5: "Are we there yet?"
6: Yes
7: Good!

2.9 Triangle

Write a function that uses nested loops to produce the following pattern.

1: triangle()
2:  *** Output ***
3: *
4: **
5: ***
6: ****
7: *****

2.10 Table Square

Write a function that prints out a 4 x 4 table square

2.10.1 Example

1: tableSquare()
2:  *** Output ***
3: A 4 x 4 table square
4: | 1 | 2 |  3 |  4 |
5: | 1 | 2 |  3 |  4 |
6: | 2 | 4 |  6 |  8 |
7: | 3 | 6 |  9 | 12 |
8: | 4 | 8 | 12 | 16 |

2.11 Table Squares

Extend your answer to the last question produce a function that will print out a n x n table square

2.11.1 Example

1: tableSquares(6)
2:  *** Output ***
3: A 6 x 6 table square
4: | 1 |  2 |  3 |  4 |  5 |  6 |
5: | 2 |  4 |  6 |  8 | 10 | 12 |
6: | 3 |  6 |  9 | 12 | 15 | 18 |
7: | 4 |  8 | 12 | 16 | 20 | 24 |
8: | 5 | 10 | 15 | 20 | 25 | 30 |
9: | 6 | 12 | 18 | 24 | 30 | 36 |

1: How to Answer these Questions

Write functions to solve all of the questions. Here are two example questions and their solutions. Notice that the first function prints a value, the second function returns a value.

1 Hello <Name>

Write a function that accepts a name as a parameter and prints out “Hello ” <name>

1.1 Example

hello("Kim")
 *** Output ***
Hello Kim

2 Average of two numbers

Write a function that accepts two numbers and returns the average of the two numbers.

2.1 Example

print(average(3,4));
 *** Output ***
3.5

3 Solutions

1: def hello(s):
2:     print("Hello ",s)
3: 
4: def average(i,j):
5:     return (i+j)/2
6: 
7: hello("Kim")
8: print(average(3,5))