Problems Python - TangqiFeng/Python-Fundamentals-problem-sheet GitHub Wiki

Problems - Python

These are a few problems from around the internet to learn the fundamentals of Python. Create a repository on GitHub to store your answers, complete with a README.

1. Hello, world!

Write a program that prints "Hello, world!" to the screen.

2. Current time

Write a program that prints the current time and date to the console.

3. FizzBuzz

Source: http://wiki.c2.com/?FizzBuzzTest

Write a program that prints the numbers from 1 to 100, except for the following conditions. For multiples of three print "Fizz" instead of the number, and for the multiples of five print "Buzz". For numbers which are multiples of both three and five print "FizzBuzz".

4. Factorial digit sum

Write a function that calculates the sum of the digits of the factorial of a number. n! means n x (n − 1) ... x 3 x 2 x 1. For example, 10! = 10 x 9 x ... x 3 x 2 x 1 = 3628800, and the sum of the digits in the number 10! is 3 + 6 + 2 + 8 + 8 + 0 + 0 = 27. Find the sum of the digits in the number 100!

5. Guessing game

Source: https://adriann.github.io/programming_problems.html

Write a guessing game where the user must guess a secret number. After every guess the program tells the user whether their number was too large or too small. At the end the number of tries needed should be printed. It counts only as one try if they input the same number multiple times consecutively.

6. Largest and smallest in list

Source: https://adriann.github.io/programming_problems.html

Write a function that returns the largest and smallest elements in a list.

7. Palindrome test

Source: https://adriann.github.io/programming_problems.html

Write a function that tests whether a string is a palindrome.

8. Merge list and sort

Source: https://adriann.github.io/programming_problems.html

Write a function that merges two sorted lists into a new sorted list. [1,4,6],[2,3,5] 鈫� [1,2,3,4,5,6].

9. Newton's method for square roots

Source: https://tour.golang.org/flowcontrol/8

Implement the square root function using Newton's method. In this case, Newton's method is to approximate sqrt(x) by picking a starting point z and then repeating:

z_next = z - ((z*z - x) / (2 * z))

To begin with, just repeat that calculation 10 times and see how close you get to the answer for various values (1, 2, 3, ...). Next, change the loop condition to stop once the value has stopped changing (or only changes by a very small delta). How close are you to the math.sqrt value?

10. Reverse string

Write a function to reverse a string.