pytanie - brak wyświetlania komunikatu

0

cześć,
czy ktoś może powiedzieć mi co jest źle z tą formułą - liczba jest odnajdywana prawidłowo ale nie poawia się komunikat "zgadłeś"

from random import randint
for i in range(1):
los = randint(1,100)

odp = int(input("podaj liczbę "))

while odp != los:
if odp > los:
print ("za duża")
if odp < los:
print ("za mała")
if odp == los:
print ("zgadłeś")
odp = int(input("podaj liczbę "))

1

Bo warunek w while był spełniony, wiec if z == nigdy się nie wykona. Masz tu działającą wersję

from random import randint

los = randint(1,100)
odp = int(input("podaj liczbę "))
while 1:
    if odp > los:
        print ("za duża")
    if odp < los:
        print ("za mała")
    if odp == los:
        print ("zgadłeś")
        break #tutaj kończy pętlę
    odp = int(input("podaj liczbę "))

edit: kod dajemy w tagach dostępnych pod </>, wtedy ma wcięcia jak u mnie. A te są w pythonie bardzo ważne

0

Dzieki wielkie

0

Tak chyba będzie czytelniej

from random import randint

los = randint(1,100)
odp = 101
while odp != los:
    odp = int(input("podaj liczbę "))
    if odp > los:
        print ("za duża")
    if odp < los:
        print ("za mała")
    if odp == los:
        print ("zgadłeś")

ew hardcore-owo

from random import randint
import sys

los = randint(1,100)
odp = sys.maxsize
while odp != los:
    odp = int(input("podaj liczbę "))
    if odp > los:
        print ("za duża")
    if odp < los:
        print ("za mała")
    if odp == los:
        print ("zgadłeś")

sys.maxsize - liczba z założenia większa od każdej liczby,

0
sig napisał(a):

sys.maxsize - liczba z założenia większa od każdej liczby,

Co? przykładowo, sys.maxsize + 1 > sys.maxsize. Sprawdź sobie w interpreterze.

0

W każdej iteracji robicie 3 porówniania. Also, dopuszczalna jest tylko jedna z możliwości i kod powinien to wyrażać.

odp = sys.maxsize

Tutaj chciałeś float('inf')/math.inf.

0

A nie lepiej z continue? Powinno być szybsze niż else if + else

from random import randint


los = randint(1,100)
odp = los + 1
while 1:
    odp = int(input("podaj liczbę "))
    if odp > los:
        print ("za duża")
        continue
    if odp < los:
        print ("za mała")
        continue
    if odp == los:
        print ("zgadłeś")
        break

1 użytkowników online, w tym zalogowanych: 0, gości: 1