5 svar
220 visningar
Dianaa 11
Postad: 21 maj 2023 15:30

While loop Programmering

Hej! Jag har skrivit en kod där användaren ska gissa ett tal och jag använder mig av villkor (if, else-if) för att "svara" om det är rätt eller om användaren är nära det rätta talet. Det jag nu behöver göra är att skapa en while loop som gör att användaren kan fortsätta skriva sina gissningar till hen gissar korrekta talet. Ingen aning hur man gör. Hittills jag har kommit fram till:

g för gissningen

x för rätta talet

while g != x: 

(vad skriver jag här?)

Laguna Online 28607
Postad: 21 maj 2023 15:46

Hur ser den där koden ut som du har skrivit redan, med if?

Dianaa 11
Postad: 21 maj 2023 15:50

import random

rand = random.randint(1, 100)

print("Welcome to the number guessing game!")
print("You are now going to guess a number between 1 and 100!")

#Get users guess
print("Please type your guess:")
g = int(input())

if g == rand:
print("Congratulations! You have guessed the correct number!")

elif g > 100:
print("Your guess needs to be between 1 and 100!")

elif g < 1:
print("Your guess needs to be between 1 and 100!")

elif g < rand - 3:
print("Your guess is too low ,try again!")

elif g > rand + 3:
print("Your guess is too high, try again!")

else:
print("You are close!")

Peter_ 470 – Avstängd
Postad: 21 maj 2023 15:58 Redigerad: 21 maj 2023 16:02

Dina kodrader
elif g < rand - 3:
samt
elif g > rand + 3:

... kommer bli fel om rand < 4 resp. om rand > 97 eftersom g då jämförs med ett tal mindre än 1 resp. större än 100.

Beträffande while-loop:
while g != rand:
  (din kod)

 

Dianaa 11
Postad: 21 maj 2023 16:06

Tack för feedbacken! :)

Det som sker med min loop blir bara att "Please type your guess:" upprepas oändligt utan att själva funktionen att skriva in ett tal följer med. 

Peter_ 470 – Avstängd
Postad: 21 maj 2023 16:42

Då har du inte publicerat den koden. Det finns ingen loop där.

Svara Avbryt
Close