Python :: Aufgabe #248
5 Lösungen
Zufällige Buchstaben für Stadt-Land-Fluss
Anfänger - Python
von charlyP
- 26.03.2020 um 00:24 Uhr
Es soll ein beliebiger Buchstabe des Alphabets (ohne Umlaute) ausgegeben werden und dann auf Anforderung des Nutzers immer wieder ein weiterer Buchstabe, wobei jeder Buchstabe des Alphabets nur ein Mal ausgegeben werden darf.
Viel Spaß
Viel Spaß
Lösungen:
Python-Code
import random alphabet = ['A','B','C','D','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'] for i in range(len(alphabet)): x = random.choice(alphabet) print(x) alphabet.remove(x) print("") input("Für einen weiteren Buchstaben Enter drücken ") print("")
Python-Code
import random ABC = "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z" liste = ABC.split() # i gibt an beim wie vielten Buchstaben wir sind i = 1 print("Wir spielen Stadt, Land Fluss!") #Festlegung wie viele Spiele gespielt werden sollen anzahl = int(input("Wie viele Spiele möchtest du spielen? ")) while anzahl >26: print("Du kannst nur maximal 26 Spiele auswählen") anzahl = input("Wie viele Spiele möchtest du spielen? ") #Buchstabenauswahl def Spiel(): global liste a = int(random.randint(0,len(liste)-1)) print(liste[a]) liste.pop(a) #Soll weiter gespielt werden? while len(liste) >26-anzahl: print("Der",i,". Buchstabe ist: ") Spiel() check = False if i == anzahl: print("Das war es! Vielen Dank für\'s Spielen") break while check == False: print("nächster Buchstabe? (j/n)") abfrage = input() if abfrage == "j" or abfrage == "n": check = True i = i+1 else: print("falsche Eingabe! Nochmal") if abfrage == "n": break
Python-Code
#!/usr/bin/env python # -*- coding: utf-8 -*- #Aufgabe: # Es soll ein beliebiger Buchstabe des Alphabets (ohne Umlaute) ausgegeben werden und dann auf Anforderung des # Nutzers immer wieder ein weiterer Buchstabe, wobei jeder Buchstabe des Alphabets nur ein Mal ausgegeben werden darf. import string from random import randint #Liste mit allen buchstaben erstellen buchstaben = [] for i in range(26): buchstaben.append(string.ascii_uppercase[i]) while True: #Zufälligen index der noch zu verfügung stehenden Buchstaben ermitteln: index = randint(0, len(buchstaben)-1) #Ausgabe des Buchstabens print(buchstaben[index]) #Löschen des gezogenen Buchstabens del buchstaben[index] if len(buchstaben) == 0: #Kein Eintrag mehr vorhanden -> Ende break #Soll man weiter ziehen? if len(buchstaben) == 25: if input('Bisher ' + str(26 - len(buchstaben)) + ' Buchstabe gezogen, Nächster Buchstabe?' ' - Zum Abbrechen q eingeben') == 'q': break elif len(buchstaben) == 1: if input('Bisher ' + str(26 - len(buchstaben)) + ' Buchstaben gezogen, Letzter Buchstabe?' ' - Zum Abbrechen q eingeben') == 'q': break else: if input('Bisher ' + str(26 - len(buchstaben)) + ' Buchstaben gezogen, Nächster Buchstabe?' ' - Zum Abbrechen q eingeben') == 'q': break
Zufällige Ausgabe:
K
Bisher 1 Buchstabe gezogen, Nächster Buchstabe? - Zum Abbrechen q eingeben
P
Bisher 2 Buchstaben gezogen, Nächster Buchstabe? - Zum Abbrechen q eingeben
H
Bisher 3 Buchstaben gezogen, Nächster Buchstabe? - Zum Abbrechen q eingeben
Z
Bisher 4 Buchstaben gezogen, Nächster Buchstabe? - Zum Abbrechen q eingeben
J
Bisher 5 Buchstaben gezogen, Nächster Buchstabe? - Zum Abbrechen q eingeben
I
Bisher 6 Buchstaben gezogen, Nächster Buchstabe? - Zum Abbrechen q eingeben
S
Bisher 7 Buchstaben gezogen, Nächster Buchstabe? - Zum Abbrechen q eingeben
T
Bisher 8 Buchstaben gezogen, Nächster Buchstabe? - Zum Abbrechen q eingeben
B
Bisher 9 Buchstaben gezogen, Nächster Buchstabe? - Zum Abbrechen q eingeben
D
Bisher 10 Buchstaben gezogen, Nächster Buchstabe? - Zum Abbrechen q eingeben
X
Bisher 11 Buchstaben gezogen, Nächster Buchstabe? - Zum Abbrechen q eingeben
M
Bisher 12 Buchstaben gezogen, Nächster Buchstabe? - Zum Abbrechen q eingeben
N
Bisher 13 Buchstaben gezogen, Nächster Buchstabe? - Zum Abbrechen q eingeben
V
Bisher 14 Buchstaben gezogen, Nächster Buchstabe? - Zum Abbrechen q eingeben
O
Bisher 15 Buchstaben gezogen, Nächster Buchstabe? - Zum Abbrechen q eingeben
Y
Bisher 16 Buchstaben gezogen, Nächster Buchstabe? - Zum Abbrechen q eingeben
E
Bisher 17 Buchstaben gezogen, Nächster Buchstabe? - Zum Abbrechen q eingeben
F
Bisher 18 Buchstaben gezogen, Nächster Buchstabe? - Zum Abbrechen q eingeben
Q
Bisher 19 Buchstaben gezogen, Nächster Buchstabe? - Zum Abbrechen q eingeben
L
Bisher 20 Buchstaben gezogen, Nächster Buchstabe? - Zum Abbrechen q eingeben
U
Bisher 21 Buchstaben gezogen, Nächster Buchstabe? - Zum Abbrechen q eingeben
C
Bisher 22 Buchstaben gezogen, Nächster Buchstabe? - Zum Abbrechen q eingeben
A
Bisher 23 Buchstaben gezogen, Nächster Buchstabe? - Zum Abbrechen q eingeben
W
Bisher 24 Buchstaben gezogen, Nächster Buchstabe? - Zum Abbrechen q eingeben
R
Bisher 25 Buchstabe gezogen, Letzter Buchstabe? - Zum Abbrechen q eingeben
G
Python-Code
import random bList = [] while len(bList) <= 25: b = (random.randint(65, 90)) if chr(b) not in bList: print(chr(b)) bList.append(chr(b))
Python-Code
# Imports from string import ascii_lowercase from random import randint # Initiate pool of available chars charpool = list(ascii_lowercase) # Perform loop as long as charpool not empty while len(charpool) > 0: # Get random number nextchar = randint(0, len(charpool)) - 1 # Print Char print("Your Letter is: " + str(charpool.pop(nextchar))) if len(charpool) != 0: # Need more chars? answer = input("Do you need another char? (Y/n)") if answer != "" and answer != "y" and answer != "Y": break else: print("All letters have been used!")