Die meisten Geeks mit CS- Hintergrund ( Computer Science ) denken an ihr erstes Projekt nach einer Programmiersprache. Hier erhalten Sie Ihr erstes und das grundlegende Projekt in diesem Artikel.

Aufgabe: Nachfolgend sind die Schritte aufgeführt:

  • Erstellen Sie ein Zahlen-Ratespiel, in dem der Benutzer einen Bereich auswählt.
  • Angenommen, der Benutzer hat einen Bereich ausgewählt, dh von A bis B , wobei A und B zu Integer gehören.
  • Eine zufällige Ganzzahl wird vom System ausgewählt und der Benutzer muss diese Ganzzahl in der Mindestanzahl von Vermutungen erraten

Analyse:

       Erläuterung 1 : Wenn die Benutzereingaben im Bereich von 1 bis 100 liegen, hat der Compiler zufällig 42 als Ganzzahl ausgewählt. Und jetzt begann das Ratespiel, sodass der Benutzer 50 als seine erste Vermutung eingab . Der Compiler zeigt „Try Again! Du hast zu hoch geraten “. Das bedeutet, dass die Zufallszahl (dh 42) nicht in den Bereich von 50 bis 100 fällt. Daher ist es wichtig, die Hälfte des Bereichs zu erraten. Und wieder schätzt der Benutzer die Hälfte von 50 (Können Sie mir sagen, warum?). Die Hälfte von 50 ist also 25. Der Benutzer gibt 25 als seine zweite Vermutung ein. Diesmal zeigt der Compiler: „Versuchen Sie es erneut! Du hast zu klein geraten “. Das heißt, die ganzen Zahlen unter 25 (von 1 bis 25) sind nutzlos, um erraten zu werden. Jetzt ist der Bereich für Benutzerschätzungen kürzer, dh von 25 bis 50. Intelligent! Der Benutzer hat die Hälfte dieses Bereichs erraten, so dass der Benutzer 37 als seine dritte Schätzung erraten hat . Diesmal zeigt der Compiler erneut die Ausgabe „Try Again! Du hast zu klein geraten “. Für den Benutzer wird der Schätzbereich mit jeder Vermutung kleiner. Der Schätzbereich für den Benutzer liegt nun zwischen 37 und 50, für den der Benutzer 43 als seine vierte Schätzung erraten hat . Diesmal zeigt der Compiler die Ausgabe „Try Again! Du hast zu hoch geraten “. Der neue Schätzbereich für Benutzer liegt also zwischen 37 und 43, für den der Benutzer wiederum die Hälfte dieses Bereichs erraten hat, dh 40 als seinen Bereichfünfte Vermutung . Diesmal zeigt der Compiler die Ausgabe „Try Again! Du hast zu klein geraten “. Lassen Sie die Vermutung noch kleiner, so dass von 41 bis 43. Und jetzt hat der Benutzer 41 als seine sechste Vermutung erraten . Was falsch ist und die Ausgabe „Try Again! Du hast zu klein geraten “. Und schließlich hat der Benutzer die richtige Zahl erraten, nämlich 42 als seine siebte Vermutung .

          Gesamtzahl der Vermutungen = 7

    Erläuterung 2 : Wenn die Benutzereingaben im Bereich von 1 bis 50 liegen. Der Compiler hat zufällig 42 als Ganzzahl ausgewählt. Und jetzt begann das Ratespiel. Die Hälfte von 50 ist also 25. Der Benutzer gibt 25 als erste Vermutung ein . Diesmal zeigt der Compiler: „Versuchen Sie es erneut! Du hast zu klein geraten “. Das heißt, die ganzen Zahlen unter 25 (von 1 bis 25) sind nutzlos, um erraten zu werden. Jetzt ist der Bereich für Benutzerschätzungen kürzer, dh von 25 bis 50. Intelligent! Der Benutzer hat die Hälfte dieses Bereichs erraten, so dass der Benutzer 37 als seine zweite Schätzung erraten hat . Diesmal zeigt der Compiler erneut die Ausgabe „Try Again! Du hast zu klein geraten “. Für den Benutzer wird der Schätzbereich mit jeder Vermutung kleiner. Der Schätzbereich für den Benutzer liegt nun zwischen 37 und 50, für den der Benutzer 43 als seinen erraten hatdritte Vermutung . Diesmal zeigt der Compiler die Ausgabe „Try Again! Du hast zu hoch geraten “. Der neue Schätzbereich für Benutzer liegt also zwischen 37 und 43, für den der Benutzer wiederum die Hälfte dieses Bereichs erraten hat, dh 40 als seine vierte Schätzung . Diesmal zeigt der Compiler die Ausgabe „Try Again! Du hast zu klein geraten “. Lassen Sie die Vermutung noch kleiner, so dass von 41 bis 43. Und jetzt hat der Benutzer 41 als seine / ihre fünfte Vermutung erraten. Was falsch ist und die Ausgabe „Try Again! Du hast zu klein geraten “. Und schließlich hat der Benutzer die richtige Zahl erraten, nämlich 42 als sechste Vermutung.



         Gesamtzahl der Vermutungen = 6

Die minimale Anzahl von Vermutungen hängt also von der Reichweite ab. Und der Compiler muss die minimale Anzahl von Vermutungen berechnen, die von der Reichweite abhängt. Dafür haben wir eine Formel: -

 Minimale Anzahl von Vermutungen = log 2 (Obergrenze - Untergrenze + 1)

Algorithmus : Nachfolgend sind die Schritte aufgeführt:

  • Der Benutzer gibt die Untergrenze und die Obergrenze des Bereichs ein.
  • Der Compiler generiert eine zufällige Ganzzahl zwischen dem Bereich und speichert sie für zukünftige Referenzen in einer Variablen.
  • Für wiederholtes Erraten wird eine while-Schleife initialisiert.
  • Wenn der Benutzer eine Zahl erraten hat, die größer als eine zufällig ausgewählte Zahl ist, erhält der Benutzer die Ausgabe „ Try Again! Du hast zu hoch geraten
  • Sonst Wenn der Benutzer eine Zahl erraten hat, die kleiner als eine zufällig ausgewählte Zahl ist, erhält der Benutzer die Ausgabe „ Erneut versuchen! Du hast zu klein geraten. “
  • Und wenn der Benutzer eine minimale Anzahl von Vermutungen angestellt hat, erhält er einen „ Glückwunsch! " Ausgabe.
  • Andernfalls erhält der Benutzer, wenn er die Ganzzahl nicht in der Mindestanzahl von Vermutungen erraten hat, „ Besseres Glück beim nächsten Mal! " Ausgabe.

Nachfolgend finden Sie die Implementierung des Algorithmus:

import random
import math
 
lower = int(input("Emter Lower bound:- ")) 
 
upper = int(input("Enter Upper bound:- "))  
 
x = random.randint(lower, upper)
print("\n\tYou've only ", round(math.log(upper - lower + 1, 2))," chances to guess the integer!\n")
 
 
count = 0
 
while count < math.log(upper - lower + 1, 2):
    count += 1
     
     
    guess = int(input("Guess a number:- ")) 
     
    
    if x == guess:  
       print("Congratulations you did it in ", count, " try")
       
       break
    elif x > guess:
       print("You guessed too small!")
    elif x < guess:
       print("You Guessed too high!")
 
if count >= math.log(upper - lower + 1, 2):
   print("\nThe number is %d"%x)
   print("\tBetter Luck Next time!")
 

AUSGABE: Unten ist die Ausgabe des obigen Programms

AUSGABE FÜR DAS RATSPIEL