Preparing git repo for final project

This commit is contained in:
2023-07-09 11:19:26 +02:00
parent 6a38966eef
commit 63d06d6b35
67 changed files with 1587 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
def main():
names = []
while True:
try:
name = input("Name: ")
names.append(name)
except EOFError:
break
if len(names) == 0:
return
result = "Adieu, adieu, to "
for n, name in enumerate(names):
if n == 0:
result += name
elif n == 1 and len(names) == 2:
result += f" and {name}"
elif n == len(names) - 1:
result += f", and {name}"
else:
result += f", {name}"
print(result)
if __name__ == "__main__":
main()

View File

@@ -0,0 +1,24 @@
import json
import requests
import sys
def main():
try:
n = float(sys.argv[1])
except IndexError:
sys.exit("Missing command-line argument")
except (ValueError, TypeError):
sys.exit("Command-line argument is not a number")
try:
response = requests.get("https://api.coindesk.com/v1/bpi/currentprice.json")
data = response.json()
conversion_rate = float(data['bpi']['USD']['rate'].replace(',', ''))
except requests.RequestException:
pass
print(f"${n * conversion_rate:,.4f}")
if __name__ == "__main__":
main()

View File

@@ -0,0 +1,10 @@
import emoji
def main():
input_text = input("Input: ").strip()
print(emoji.emojize(emoji.emojize(input_text, language='alias'), language='en'))
if __name__ == "__main__":
main()

View File

@@ -0,0 +1,24 @@
import sys
from pyfiglet import Figlet
figlet = Figlet()
def main():
if len(sys.argv) > 1:
if len(sys.argv) != 3:
sys.exit("This script takes 2 or no command-line arguments")
if sys.argv[1] not in ('-f', '--font'):
sys.exit(f"Unknown option `{sys.argv[1]}`")
available_fonts = figlet.getFonts()
font = sys.argv[2]
if font not in available_fonts:
sys.exit(f"Unknown font `{sys.argv[2]}`")
figlet.setFont(font=font)
input_text = input("Input: ")
print(figlet.renderText(input_text))
if __name__ == "__main__":
main()

View File

@@ -0,0 +1,28 @@
import random
def main():
n = -1
while n < 1:
try:
n = int(input("Level: "))
except (TypeError, ValueError):
continue
random.seed()
n_to_guess = random.randint(1, n)
guess = -1
while n_to_guess - guess != 0:
try:
guess = int(input("Guess: "))
except (TypeError, ValueError):
continue
if guess == n_to_guess:
print("Just right!")
if guess < n_to_guess:
print("Too small!")
if guess > n_to_guess:
print("Too large!")
if __name__ == "__main__":
main()

View File

@@ -0,0 +1,43 @@
import random
def main():
# random.seed() # This breaks check50 😠
score = 0
level = get_level()
for _ in range(10):
x = generate_integer(level)
y = generate_integer(level)
for _ in range(3):
try:
answer = int(input(f"{x} + {y} ="))
except (ValueError, TypeError):
answer = -1
if answer == x + y:
score += 1
break
else:
print("EEE")
else:
print(f"{x} + {y} = {x + y}")
print(f"Score: {score}")
def get_level():
level = 0
while level not in (1, 2, 3):
try:
level = int(input("Level: "))
except (ValueError, TypeError):
level = 0
return level
def generate_integer(level):
if level not in (1, 2, 3):
raise ValueError
return random.randint((10**(level - 1) if level > 1 else 0), 10**level - 1)
if __name__ == "__main__":
main()