Zephyrnet-logo

Beginnervriendelijke Python-projecten die leuk zijn!

Datum:

Andrej Metelev via Unsplash

 

Ik heb onlangs een artikel geschreven over het bouwen van een Python-project in minder dan 5 minuten. Dus ik dacht dat ik er nog een zou doen, met nog een paar projecten voor beginners om mee te spelen en hun vaardigheden te testen. 

Als je geen plezier hebt in je carrière, verlies je snel genoeg je mojo en begin je er een hekel aan te krijgen. Dergelijke projecten zijn niet alleen beginnersvriendelijk, maar ze voegen ook een beetje plezier toe aan je studie of carrière. 

Dus laten we beginnen.

In dit eerste project zullen we een willekeurig getal genereren binnen een specifiek bereik dat de gebruiker moet raden met behulp van hints. 

Hoe meer gissingen de gebruiker verkeerd heeft, hoe meer hints hij zal krijgen, maar het zal zijn score verlagen. 

Code:

""" Raad het getal """ import willekeurige pogingen_list = [] def show_score(): if len(attempts_list) = 0: print("Er is momenteel geen hoge score, deze ligt voor het oprapen!") else: print( "De huidige hoogste score is {} pogingen".format(min(attempts_list))) def start_game(): random_number = int(random.randint(1, 10)) print("Hallo daar! Welkom bij het spel van het raden van de number!") player_name = input("Wat is je naam? ") wanna_play = input("Hallo, {}, wil je het nummer raadspel spelen? (Voer Ja/Nee in) ".format(player_name)) # Waarbij de functie show_score GEBRUIKT was om pogingen = 0 show_score() while wanna_play.lower() == "yes": try: guess = input("Kies een getal tussen 1 en 10") if int(guess) 1 of int( raden) > 10: verhoog ValueError("Raad een getal binnen het opgegeven bereik") if int(guess) == random_number: print("Ja! Dat klopt!!") pogingen += 1 pogingen_list.append(pogingen) print ("Het kostte je {} pogingen".format(pogingen)) play_again = input("Wil je ag spelen ain? (Voer Ja/Nee in) ") pogingen = 0 show_score() random_number = int(random.randint(1, 10)) if play_again.lower() == "nee": print("Dat is cool, veel plezier! ") break elif int(guess) > random_number: print("Hmmm, het is lager") pogingen += 1 elif int(guess) random_number: print("Hmmm, het is hoger") pogingen += 1 behalve ValueError as err: print ("Dat is geen geldige waarde. Probeer het opnieuw...") print("({})".format(err)) else: print("Dat is cool, een goede!") if __name__ == ' __main__': start_game()

Het hele punt van galgje is het kiezen van een woord, dus eerst moeten we een lijst met woorden vinden. Op StackOverflow is er een JSON-bestand met meer dan 2400 woorden. Je kunt het hier vinden: willekeurige lijst

Kopieer deze woorden met behulp van dit JSON-bestand naar een .py-bestand en wijs het toe aan de variabele 'woorden'. Soortgelijk:

woorden = "verbijsterd", "verbijsterd", "verlaten", "vernederd", "afwijkend", "afschuwelijk"...

Code:

Maak een tweede .py-bestand en noem het hangman.py - het zal dit bevatten:

""" Galgje """ #Imports import willekeurig uit woorden importeer woorden uit hangman_visual import lives_visual_dict import string def get_valid_word(words): word = random.choice(words) # kiest willekeurig iets uit de lijst terwijl '-' in woord of ' ' in word: word = random.choice(words) return word.upper() def hangman(): word = get_valid_word(words) word_letters = set(word) # letters in het woord alfabet = set(string.ascii_uppercase) used_letters = set() # wat de gebruiker heeft geraden levens = 7 # gebruikersinvoer krijgen terwijl len(word_letters) > 0 en levens > 0: # letters gebruikt # ' '.join(['a', 'b', 'cd ']) --> 'ab cd' print('You have', lives, 'lives left en je hebt deze letters gebruikt: ', ' '.join(used_letters)) # wat het huidige woord is (dwz W - RD) word_list = [letter if letter in used_letters else '-' for letter in word] print(lives_visual_dict[lives]) print('Huidige woord: ', ' '.join(word_list)) user_letter = input('Raad een letter: ' ).upper() if user_letter in alfabet - used_letters: used_letters .add(user_letter) if user_letter in word_letters: word_letters.remove(user_letter) print('') else: lives = lives - 1 # take away a life if wrong print('nYour letter,', user_letter, 'is not in the woord.') elif user_letter in used_letters: print('nJe hebt die letter al gebruikt. Raad een andere letter.') else: print('nDat is geen geldige letter.') # komt hier wanneer len(word_letters) == 0 OR when lives == 0 if lives == 0: print(lives_visual_dict[lives]) print('Je stierf, sorry. Het woord was', woord) else: print('YAY! Je raadt het woord', woord, '!!') if __name__ == '__main__': galgje()

Voer je galgje.py-bestand uit en laten we spelen!

Het spel Rock, Paper, Scissor gebruikt random.choice(), if-statements en zorgt ervoor dat gebruikersinvoer werkt met deze functies:

  • Willekeurige functie die wordt gebruikt om steen, papier of schaar te genereren. 
  • Geldige functie om te controleren of uw zet geldig is
  • Resultaatfunctie om te controleren wie die ronde heeft gewonnen
  • Scorekeeper om de score bij te houden.

Code:

""" Rock Paper Scissors """ import random import os import re os.system('cls' if os.name=='nt' else 'clear') while (1 2): print ("n") print ( "Steen, Papier, Schaar - Schiet!") userChoice = input("Kies je wapen [R]ock], [P]aper of [S]cissors: ") if not re.match("[SsRrPp]", userChoice): print ("Kies een letter:") print ("[R]ock, [S]cissors of [P]aper.") doorgaan # Echo de keuze van de gebruiker print ("U koos: " + userChoice) keuzes = ['R', 'P', 'S'] opponenetChoice = random.choice(keuzes) print ("Ik koos: " + opponenetChoice) if opponenetChoice == str.upper(userChoice): print ("Tie! ") #if opponenetChoice == str("R") and str.upper(userChoice) == "P" elif opponenetChoice == 'R' en userChoice.upper() == 'S': print ("Scissors beats rock, I win! ") ga verder elif opponenetChoice == 'S' and userChoice.upper() == 'P': print ("Schaar verslaat papier! Ik win! ") ga verder elif opponenetChoice == 'P' en userChoice.upper() == 'R': print ("Paper beat rock, ik win!") ga verder: print ("Youwinnen!")
spot_img

Laatste intelligentie

spot_img