Add Projects
This commit is contained in:
commit
f60ad9b9ad
1
files/requirements.txt
Normal file
1
files/requirements.txt
Normal file
@ -0,0 +1 @@
|
||||
PySimpleGui
|
7
files/school.simple input.chalanger1.py
Normal file
7
files/school.simple input.chalanger1.py
Normal file
@ -0,0 +1,7 @@
|
||||
print("Simple input and output")
|
||||
name = input("What is your name? ")
|
||||
age = input("How old are you? ")
|
||||
|
||||
# string formatting with f-strings
|
||||
# https://realpython.com/python-f-strings/
|
||||
print(f"Hello {name}, you are {age} years old")
|
204
files/school.turtle.chalange2.py
Normal file
204
files/school.turtle.chalange2.py
Normal file
@ -0,0 +1,204 @@
|
||||
import turtle as t
|
||||
import random
|
||||
|
||||
import sys
|
||||
|
||||
# get required modules
|
||||
try:
|
||||
import pip
|
||||
pip.main(['install', 'PySimpleGUI'])
|
||||
except Exception as e:
|
||||
print("Pip not found")
|
||||
print(e)
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
import PySimpleGUI as sg
|
||||
|
||||
terminal_colors = {
|
||||
"RESET": "\033[0m",
|
||||
"RED": "\033[1;31;40m",
|
||||
"GREEN": "\033[1;32;40m",
|
||||
}
|
||||
|
||||
stars = [
|
||||
{
|
||||
"rotation": 0,
|
||||
"color": "red",
|
||||
},
|
||||
{
|
||||
"rotation": 36,
|
||||
"color": "blue",
|
||||
},
|
||||
{
|
||||
"rotation": 36,
|
||||
"color": "green",
|
||||
},
|
||||
{
|
||||
"rotation": 36,
|
||||
"color": "yellow",
|
||||
},
|
||||
{
|
||||
"rotation": 36,
|
||||
"color": "purple",
|
||||
},
|
||||
{
|
||||
"rotation": 36,
|
||||
"color": "pink",
|
||||
},
|
||||
{
|
||||
"rotation": 36,
|
||||
"color": "orange",
|
||||
},
|
||||
{
|
||||
"rotation": 36,
|
||||
"color": "black",
|
||||
},
|
||||
{
|
||||
"rotation": 36,
|
||||
"color": "white",
|
||||
},
|
||||
{
|
||||
"rotation": 36,
|
||||
"color": "grey",
|
||||
},
|
||||
{
|
||||
"rotation": 36,
|
||||
"color": "brown",
|
||||
}
|
||||
]
|
||||
|
||||
firstMessages = [
|
||||
"YOU",
|
||||
"ARE",
|
||||
]
|
||||
|
||||
def main(skipoptions):
|
||||
skips = {
|
||||
"star": False,
|
||||
"spiral": False,
|
||||
}
|
||||
|
||||
if skipoptions:
|
||||
skips = skipoptions
|
||||
|
||||
# create a star
|
||||
t.setup(800, 600)
|
||||
t.begin_fill()
|
||||
t.speed(1)
|
||||
t.penup()
|
||||
|
||||
if not skips["star"]:
|
||||
t.goto(0, 300)
|
||||
t.pendown()
|
||||
|
||||
for message in firstMessages:
|
||||
# add delay
|
||||
t.speed(1)
|
||||
# align center top
|
||||
t.write(message, align='center', font=('Arial', 48, 'normal'))
|
||||
t.penup()
|
||||
t.goto(0, t.ycor() - 50)
|
||||
t.pendown()
|
||||
t.speed(10)
|
||||
t.penup()
|
||||
t.goto(0, 0)
|
||||
|
||||
t.speed(30)
|
||||
# go trough the stars
|
||||
for star in stars:
|
||||
t.penup()
|
||||
t.goto(0, 0)
|
||||
t.pendown()
|
||||
t.right(star["rotation"])
|
||||
t.color(star["color"], star["color"])
|
||||
t.begin_fill()
|
||||
for i in range(5):
|
||||
t.forward(200)
|
||||
t.right(144)
|
||||
t.end_fill()
|
||||
t.penup()
|
||||
t.goto(0, -300)
|
||||
t.pendown()
|
||||
t.color('black')
|
||||
# t.write('You are NOT a star', align='center', font=('Arial', 48, 'normal'))
|
||||
# switch trough texts
|
||||
meessages = [
|
||||
"NOT",
|
||||
"A",
|
||||
"STAR"
|
||||
]
|
||||
|
||||
for message in meessages:
|
||||
# add delay
|
||||
t.speed(1)
|
||||
t.write(message, align='center', font=('Arial', 48, 'normal'))
|
||||
t.penup()
|
||||
t.goto(0, t.ycor() - 50)
|
||||
t.pendown()
|
||||
|
||||
# change background color
|
||||
# clear the screen
|
||||
|
||||
if not skips["spiral"]:
|
||||
t.clear()
|
||||
# creat a spiral
|
||||
t.speed(10)
|
||||
t.penup()
|
||||
t.goto(0, 0)
|
||||
t.pendown()
|
||||
t.color('black')
|
||||
t.speed(30)
|
||||
rangeset = 1500
|
||||
for i in range(rangeset):
|
||||
# random color
|
||||
color = random.randint(0, 0xFFFFFF)
|
||||
print(f"color: {color}")
|
||||
t.color("#%06x" % color)
|
||||
# t.color(1 - i / rangeset, 1 - i / rangeset, 1 - i / rangeset)
|
||||
t.speed(100)
|
||||
t.forward(i)
|
||||
t.right(144)
|
||||
t.penup()
|
||||
|
||||
t.done()
|
||||
|
||||
|
||||
|
||||
pass
|
||||
|
||||
def setupui():
|
||||
opts = {
|
||||
"star": False,
|
||||
"spiral": False,
|
||||
}
|
||||
|
||||
layout = [
|
||||
[sg.Checkbox('Skip Star', default=False, key='skipstar')],
|
||||
[sg.Checkbox('Skip Spiral', default=False, key='skipspiral')],
|
||||
[sg.Button('Ok')]
|
||||
]
|
||||
|
||||
window = sg.Window('Skip Options', layout)
|
||||
|
||||
while True:
|
||||
event, values = window.read()
|
||||
if event in (None, 'Cancel'):
|
||||
break
|
||||
if event == 'Ok':
|
||||
opts["star"] = values['skipstar']
|
||||
opts["spiral"] = values['skipspiral']
|
||||
break
|
||||
|
||||
window.close()
|
||||
return opts
|
||||
|
||||
if __name__ == '__main__':
|
||||
skipoptions = setupui()
|
||||
print(skipoptions)
|
||||
try:
|
||||
main(skipoptions)
|
||||
except Exception as e:
|
||||
print(f"{terminal_colors['RED']}[ERROR]{terminal_colors['RESET']}")
|
||||
print(e)
|
||||
pass
|
Loading…
Reference in New Issue
Block a user