• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Ocena kodu, pierwsze szlify

Object Storage Arubacloud
–1 głos
191 wizyt
pytanie zadane 15 grudnia 2016 w Python przez golishaq Użytkownik (660 p.)

Witam wszystkich, jestem świeżynką na forum. Wcześniej do czynienia z programowanie miałem  w technikum i na studiach. Coś wiem, coś kojarzę ale dużo rzeczy z głowy wyleciało więc postanowiłem zrobić restart i odświeżyć wiedzę. Planuje przyłożyć się do Pythona i C#. A potem webdev/aplikacje webowe , mobilne albo cross-platform (Xamarin?). Unity mi się podobało więc gamedev też niewykluczony (zwłaszcza że grałem niemal nałogowo jak miałem czas, więc "rynek" znam)

Na początku tego tygodnia zacząłem przerabiać książkę "Python dla każdego" M.Dawsona i dotarłem do końca 3 rozdziału. Ostatnie zadanie polega na przerobieniu przykładowego kodu programu gdzie zgadujemy liczbę wylosowaną przez komputer na wersję, gdzie komputer zgaduje liczbę podaną przez nas.

Wersja kodu z książki.

liczba = random.randint(1,100)
ask = int(input("Podaj liczbe"))
count = 1
#pętla zgadywania:
while ask != liczba:
    if ask > liczba:
        print("Za duża...")
    else:
        print("Za mała...")

    ask = int(input("Podaj liczbe"))
    count += 1
print("Gratuluje!, Wylosowana liczba to", liczba
      , "\nPotrzebowałeś", count, "prób.")

Wersja z ćwiczenia przerobiona przeze mnie. Najprościej wg mnie było wykorzystać metodę "dziel i rządź" i taki algorytm starałem się zastosować. 100% wymyślania, żadnej pomocy Google'a. Teraz myślę co tu do tego kodu jeszcze dodać, jak przeprowadzić testy żeby wychwycić czy jest błąd, czy użyć innej metody.

liczba = random.randint(1,100) 
x = liczba  #zmienna pomocnicza
ask = int(input("Podaj liczbe 1-100 \n"))
count = 1
top = 100 # najwyższa wartość

#pętla zgadywania:
while ask != liczba:
    if ask < liczba:
        top = liczba
        liczba //= 2
    else:
        liczba = liczba + ((top - liczba)//2)
    count += 1
print("Twoja licza to", ask, "\nMoja to", x, "\nPotrzebowalem", count, "prób")

 

1 odpowiedź

0 głosów
odpowiedź 16 grudnia 2016 przez operator Stary wyjadacz (10,920 p.)
Super, ze komentujesz kod. To się szanuje. Zawsze warto pisać oczekiwany wynik.

Podobne pytania

0 głosów
2 odpowiedzi 245 wizyt
pytanie zadane 2 stycznia 2019 w Python przez Piotr Jasiński Bywalec (2,120 p.)
+2 głosów
2 odpowiedzi 378 wizyt
+1 głos
1 odpowiedź 290 wizyt
pytanie zadane 8 maja 2020 w Python przez wojtek_suchy Mądrala (6,880 p.)

92,556 zapytań

141,404 odpowiedzi

319,563 komentarzy

61,942 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...