hjälp med att göra om samma påstående

Trädvy Permalänk
Medlem
Registrerad
Feb 2014

hjälp med att göra om samma påstående

Tjena, jag försöker att göra en kod som tar en siffra mellan ett och 100 och printar ut om den är rätt, om man ska gissa högre eller om man ska gissa lägre. Om jag tar if för större än och mindre än den slumpmässiga siffran så slutar koden med att säga att man ska gissa högre eller lägre. Så jag undrar hur jag kan göra för att den ska låta en gissa igen utan att behöva kopiera samma kod om och om igen. Jag testade med while nedanför fast den blir bara en loop.

import random rättsvar=(random.randint(1, 100)) print(rättsvar) försök=input("gissa en siffra mellan 1 och 100") if rättsvar==int(försök): print("Grattis du gissade rätt!") while rättsvar != int(försök): if rättsvar > int(försök): print("testa med ett högre tal") else: print("testa med ett lägre tal")

[code]-taggar inredigerade; Python i synnerhet är rätt oläsligt utan detta. Bjuder på färguppmärkning.
Trädvy Permalänk
Medlem
Registrerad
Jun 2012
Skrivet av madmaster32:

Tjena, jag försöker att göra en kod som tar en siffra mellan ett och 100 och printar ut om den är rätt, om man ska gissa högre eller om man ska gissa lägre. Om jag tar if för större än och mindre än den slumpmässiga siffran så slutar koden med att säga att man ska gissa högre eller lägre. Så jag undrar hur jag kan göra för att den ska låta en gissa igen utan att behöva kopiera samma kod om och om igen. Jag testade med while nedanför fast den blir bara en loop.

import random
rättsvar=(random.randint(1, 100))
print(rättsvar)
försök=input("gissa en siffra mellan 1 och 100")
if rättsvar==int(försök):
print("Grattis du gissade rätt!")
while rättsvar != int(försök):
if rättsvar > int(försök):
print("testa med ett högre tal")
else:
print("testa med ett lägre tal")

int guess = 0; int i = 0; do { rättsvar= (random.randint(1, 100)) cout << "Gissa" << endl; cin >> guess; if(guess == rättsvar) { cout << "Grattis du gissa rätt" << endl; i = 1; } else if(guess < rättsvar) { cout << "Du gissa för lågt" << endl; } else cout << "Du gissa för högt" << endl; } while(i != 1) {};

Vet inte vilket språk du skriver i så jag skrev lite pseduo kod, men de borde vara din logik du ska följa

CPU: Intel core i5 3450 | GPU: Asus Radeon HD 7870 | PSU: Corsair GS 600W | Moderkort: MSI b75a-g43 | HDD WD blue 500 GB | RAM: Crucial ballistiX 2x4gb DDR3 1600MHz | Ljudkort: Asus Xonar DG |

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Dec 2010

Jag gissar att du kodar i python? Men när du har klippt in din kod har tabbningen försvunnit, så det går inte se exakt vad du gör för fel.

Man ser dock att du bara har satt din while-loop så att den upprepar kontrollen av din gissning, den läser inte in en ny gissning, så då fastnar den i en oändlig loop där den för alltid bara kollar om det första gissningsvärdet är rätt eller inte.

Hoppas du lyckas fixa till det!

Trädvy Permalänk
Medlem
Registrerad
Feb 2014
Skrivet av turbogeten:

int guess = 0; int i = 0; do { rättsvar= (random.randint(1, 100)) cout << "Gissa" << endl; cin >> guess; if(guess == rättsvar) { cout << "Grattis du gissa rätt" << endl; i = 1; } else if(guess < rättsvar) { cout << "Du gissa för lågt" << endl; } else cout << "Du gissa för högt" << endl; } while(i != 1) {};

Vet inte vilket språk du skriver i så jag skrev lite pseduo kod, men de borde vara din logik du ska följa

Skrivet av Stormfisken:

Jag gissar att du kodar i python? Men när du har klippt in din kod har tabbningen försvunnit, så det går inte se exakt vad du gör för fel.

Man ser dock att du bara har satt din while-loop så att den upprepar kontrollen av din gissning, den läser inte in en ny gissning, så då fastnar den i en oändlig loop där den för alltid bara kollar om det första gissningsvärdet är rätt eller inte.

Hoppas du lyckas fixa till det!

Tack så mycket för hjälpen, jag lyckades fixa det. Var python som jag glömde att nämna ;). Ha en trevlig helg. <3