Aug-19-2024, 03:18 PM
i have a working little number guessing game but there is one long repetitiv section that i dont know how to shorten (the section is beneth the line "if durchschnitt2"(line 118) (the hole code is in german if thats a problen i will translate it))
(sorry for the long code.)
the section is to calculate the average of how many trys it took you to find the number.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 |
import random werte = [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] durchschnitt2 = False def deutsch(): runig = True while runig: while True : while True : try : runden = int ( input ( "wie viele runden wilst du speilen?:" )) except ValueError: print ( "ungültiger wert. versuche es noch einmal" ) print ( "----------------------------------" ) else : break if runden > 15 : print ( "maximal 15 runden" ) else : break for runde in range (runden): runde = runde + 1 print ( "----------------------------------" ) print ( f "runde {runde}" ) while True : while True : while True : try : low = int ( input ( "was soll das minimum sein?:" )) except ValueError: print ( "ungültiger wert. versuche es noch einmal" ) print ( "----------------------------------" ) else : break if low < - 500000 : print ( "minimal -500,000" ) else : break print ( "----------------------------------" ) while True : while True : try : high = int ( input ( "was soll das maximum sein?:" )) except ValueError: print ( "ungültiger wert. versuche es noch einmal" ) print ( "----------------------------------" ) else : break if high > 500000 : print ( "maximal 500,000" ) else : break if low > high: print ( "----------------------------------" ) print ( "das minimum kann nicht mehr als das maximum sein" ) print ( "----------------------------------" ) else : break print ( "----------------------------------" ) number = random.randint(low,high) if not durchschnitt2: guesses = 0 while True : while True : try : guessesnuber = int ( input ( "wie viele versuch wilst du haben?:" )) except ValueError: print ( "ungültiger wert. versuche es noch einmal" ) print ( "----------------------------------" ) else : break if guessesnuber > 100 : print ( "maximal 100 versuche" ) else : break print ( "----------------------------------" ) print ( f "du hast {guessesnuber} versuche" ) else : guesses = 0 guessesnuber = 9999999999999999999999999999 print ( "----------------------------------" ) print ( f "du hast {guessesnuber} versuche" ) while True : while True : try : guess = int ( input ( f "nummer zwischen ({low} - {high}):" )) except ValueError: print ( "ungültiger wert. versuche es noch einmal" ) print ( "----------------------------------" ) else : break guesses = guesses + 1 if guess > high: print ( f "das ist mehr als {high}" ) elif guess < low: print ( f "das ist weniger als {low}" ) elif guess > number: print ( f "{guess} ist zu viel" ) elif guess < number: print ( f "{guess} ist zu wenig" ) else : print ( f "{guess} ist richtig!" ) break if guesses = = guessesnuber: print ( f "du hast zu viele versuche gebraucht" ) break else : print ( f "du hast noch {guessesnuber-guesses} versuche" ) if guess < number and not guess < low: low = guess elif guess > number and not guess > high: high = guess print ( "----------------------------------" ) if guess = = number: print ( f "du hast {guesses} versuche gebraucht" ) if durchschnitt2: if runde = = 1 : werte[ 0 ] = guesses durchschnitt1 = werte[ 0 ] elif runde = = 2 : werte[ 1 ] = guesses durchschnitt1 = durchschnitt1 + werte[ 1 ] elif runde = = 3 : werte[ 2 ] = guesses durchschnitt1 = durchschnitt1 + werte[ 2 ] elif runde = = 4 : werte[ 3 ] = guesses durchschnitt1 = durchschnitt1 + werte[ 3 ] elif runde = = 5 : werte[ 4 ] = guesses durchschnitt1 = durchschnitt1 + werte[ 4 ] elif runde = = 6 : werte[ 5 ] = guesses durchschnitt1 = durchschnitt1 + werte[ 5 ] elif runde = = 7 : werte[ 6 ] = guesses durchschnitt1 = durchschnitt1 + werte[ 6 ] elif runde = = 8 : werte[ 7 ] = guesses durchschnitt1 = durchschnitt1 + werte[ 7 ] elif runde = = 9 : werte[ 8 ] = guesses durchschnitt1 = durchschnitt1 + werte[ 8 ] elif runde = = 10 : werte[ 9 ] = guesses durchschnitt1 = durchschnitt1 + werte[ 9 ] elif runde = = 11 : werte[ 10 ] = guesses durchschnitt1 = durchschnitt1 + werte[ 10 ] elif runde = = 12 : werte[ 11 ] = guesses durchschnitt1 = durchschnitt1 + werte[ 11 ] elif runde = = 13 : werte[ 12 ] = guesses durchschnitt1 = durchschnitt1 + werte[ 12 ] elif runde = = 14 : werte[ 13 ] = guesses durchschnitt1 = durchschnitt1 + werte[ 13 ] elif runde = = 15 : werte[ 14 ] = guesses durchschnitt1 = durchschnitt1 + werte[ 14 ] elif guesses = = guessesnuber: print ( f "du hast es nicht eraten die numer war {number}" ) if durchschnitt2: durchschnitt = durchschnitt1 / runden print ( f "dein durchschnitt ist {durchschnitt}" ) if not input ( "nochmal spielen? (ja/nein):" ).lower() = = "ja" : runig = False else : print ( "----------------------------------" ) |
the section is to calculate the average of how many trys it took you to find the number.