· 4 years ago · Aug 27, 2021, 10:42 AM
1import os
2from random import randrange
3import sqlite3
4from sqlite3.dbapi2 import Connection
5
6
7def createDatabase():
8 conn = sqlite3.connect('sql_database.db')
9 c = conn.cursor()
10 c.execute(
11 'CREATE TABLE IF NOT EXISTS leaderboard(name text, guessing_attempts int)')
12 conn.commit()
13 conn.close()
14
15
16def insertIntoDatabse(number):
17 name = input('winner name is: ')
18 conn = sqlite3.connect('sql_database.db')
19 c = conn.cursor()
20 c.execute('INSERT INTO leaderboard VALUES (?, ?)', (name, number))
21 conn.commit()
22 conn.close()
23
24
25def showDatabse():
26 conn = sqlite3.connect('sql_database.db')
27 c = conn.cursor()
28 c.execute(
29 'SELECT name, guessing_attempts FROM leaderboard ORDER BY guessing_attempts DESC')
30 conn.commit()
31 for name, guessing_attempts in c:
32 print("Name", name, "Versuche", guessing_attempts)
33 conn.close()
34
35
36def main():
37 createDatabase()
38 npc = RandomNpc()
39 answer = False
40 while answer == False:
41 number = int(input())
42 answer = npc.checkNumber(number)
43 insertIntoDatabse(number)
44 showDatabse()
45
46
47class Menu:
48 def __init__(self) -> None:
49 cmd = 'mode con: cols=120 lines=40'
50 os.system(cmd)
51
52 def clearScreen(self):
53 os.system('cls')
54
55
56class RandomNpc:
57 def __init__(self) -> None:
58 self.random_number = randrange(10)
59 self.counter = 0
60
61 def checkNumber(self, number):
62 self.counter += 1
63 if self.random_number == number:
64
65 print('correct')
66 return True
67 if self.random_number < number:
68 print('too big')
69 return False
70 else:
71 print('too small')
72 return False
73
74
75if __name__ == "__main__":
76 # execute only if run as a script
77 main()
78