From 205972ab2db933ccd0638a4e3652f24387ffde1a Mon Sep 17 00:00:00 2001 From: Adam Weiler Date: Tue, 11 Oct 2022 17:00:58 -0400 Subject: [PATCH 1/2] Adding grade-as-a-letter solution. --- grade-as-a-letter.py | 47 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 grade-as-a-letter.py diff --git a/grade-as-a-letter.py b/grade-as-a-letter.py new file mode 100644 index 00000000..4b40980d --- /dev/null +++ b/grade-as-a-letter.py @@ -0,0 +1,47 @@ +#Asks user for their grade as a number and returns the value as a letter. +#Example: Entering a grade of 78 returns C+. + +all_grades = ['A+', 'A', 'A-', 'B+', 'B', 'B-', 'C+', 'C', 'C-', 'D+', 'D', 'D-', 'F'] #List stores all letter grades. + +def display_grade(num_grade, position): #Returns percent grade and letter grade. + return (f'With a grade of {num_grade}, you get an {all_grades[position]}.') + + +def get_letter_grade(num_grade): #Based on user input, calls display_grade with appropriate reference for the list. + if 97 <= num_grade <= 100: + return display_grade(num_grade, 0) + elif 93 <= num_grade < 97: + return display_grade(num_grade, 1) + elif 90 <= num_grade < 93: + return display_grade(num_grade, 2) + elif 87 <= num_grade < 90: + return display_grade(num_grade, 3) + elif 83 <= num_grade < 87: + return display_grade(num_grade, 4) + elif 80 <= num_grade < 83: + return display_grade(num_grade, 5) + elif 77 <= num_grade < 80: + return display_grade(num_grade, 6) + elif 73 <= num_grade < 77: + return display_grade(num_grade, 7) + elif 70 <= num_grade < 73: + return display_grade(num_grade, 8) + elif 67 <= num_grade < 70: + return display_grade(num_grade, 9) + elif 63 <= num_grade < 67: + return display_grade(num_grade, 10) + elif 60 <= num_grade < 63: + return display_grade(num_grade, 11) + elif 0 <= num_grade < 60: + return display_grade(num_grade, 12) + else: + return ('That is an invalid selection.') + +def ask_for_grade(): #Asks user for their grade as a percentage. + print('What is your grade percentage?') + grade_percentage = float(input()) + + return get_letter_grade(grade_percentage) + + +print(ask_for_grade()) \ No newline at end of file From 09a20c659dad87cc596386e1c3d66cf65450e3da Mon Sep 17 00:00:00 2001 From: Adam Weiler Date: Tue, 11 Oct 2022 19:10:28 -0400 Subject: [PATCH 2/2] Adding a number guessing game. --- number-guesser.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 number-guesser.py diff --git a/number-guesser.py b/number-guesser.py new file mode 100644 index 00000000..4fe55bf2 --- /dev/null +++ b/number-guesser.py @@ -0,0 +1,39 @@ +#Picks a number between 1 and 100 and has the user guess until they find the number. + +# Importing the random module +import random + +def choose_random_num(): #Chooses a random number. + return random.randint(1,101) + + +def ask_for_guess(): #Asks user for their guess as a number. + print('What is your guess?') + user_guess = input() + + if user_guess == 'Q' or user_guess == 'q': #If the user enters Q then the game is over. + return (f'The number was {random_num}. Thanks for playing!') + else: + return evaluate_guess(int(user_guess)) #Evaluates the user's guess. + + +def evaluate_guess(user_guess): #Evaluates the user's guess. + print (f'You guessed {user_guess}.') + + if random_num == user_guess: + return('Good job!') + else: + + if (user_guess > random_num): + print('Too high!') + elif (user_guess < random_num): + print('Too low!') + + print('Try again!') + return(ask_for_guess()) + + +# Start of program +random_num = choose_random_num() #Chooses a random number. +print('Guess a number between 1 and 10. Press Q to give up.') +print(ask_for_guess()) #Asks user for their guess as a number. \ No newline at end of file