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

Python probelm zadania

Object Storage Arubacloud
0 głosów
171 wizyt
pytanie zadane 24 listopada 2020 w Python przez qwert 100 Obywatel (1,250 p.)
edycja 24 listopada 2020 przez qwert 100

Joł

Powie mi ktoś dlaczego nie chce się wyświetlić #2 bo nie wiem o co chodzi. Chodzi mi o to że podczas debugowania nie wyświetla mi się używam  PyCharm

with open('liczby.txt') as plik:
    for linia in plik:
        print(linia)
#1
print("liczby od 0 do 100")
for i in linia:
    if 0 <= int(i) <= 100:
        print(i)
#2
print("liczby parzyste")
for i in linia:
    if int(i) % 2 == 0:
        print(i)

Z góry dzieki za pomoc

1 odpowiedź

+1 głos
odpowiedź 24 listopada 2020 przez Nelson89 Dyskutant (7,720 p.)
wybrane 24 listopada 2020 przez qwert 100
 
Najlepsza

Cześć,

spróbuj uruchomić ten program z terminala - ostatnio jeden kolega z forum używał PyCharm i nie widział błędu dopóki nie użył terminala. Jak błąd pojawi się w terminalu, to opisz jak uruchamiasz to w PyCharm, bo mi zawsze pojawiają się opisy do błędów, które występują.

Problem leży w tym, że pierwsza pętla wykonuje się dobrze do ostatniego elementu w zmiennej linia. Ostatnim elementem jest biały znak przejścia do nowej linii: \n, który zawsze jest na końcu wiersza. Możesz się go pozbyć z wykorzystaniem funkcji rstrip. Pozbędziesz się wszystkich białych znaków z prawej strony tego ciągu znaków.

linia = linia.rstrip()

Możesz dodatkowo zabezpieczyć się i sprawdzić czy dany znak, da się przekonwertować z typu string na typ int, z wykorzystaniem zarządzania wyjątkami:

for i in linia:
    try:
        int(i)
    except ValueError:
       print(f'To nie jest liczba {i}')
    else:
     # tutaj dalsza część pętli

lub testu:

for i in linia:
    if i.isdigit():
        # tutaj dalsza część pętli

Pamiętaj o odpowiednich wcięciach (indentancji), bo przy tym układzie, który podesłałeś to do dalszej części programu trafi tylko ostatnia linia, która jest w pliku.

Pozdrawiam,

Nelson

komentarz 24 listopada 2020 przez Nelson89 Dyskutant (7,720 p.)

a wyświetla się : liczby parzyste?

komentarz 24 listopada 2020 przez qwert 100 Obywatel (1,250 p.)
napis liczby parzyste tak

ale liczby nie
komentarz 24 listopada 2020 przez Nelson89 Dyskutant (7,720 p.)

A Jesteś pewien, że w tym pliku znajdują się liczby przystę?

Zobacz co wyjdzie z tego:

with open('liczby.txt') as plik:
    for linia in plik:
        print(linia)
linia = linia.rstrip()
#1
print("liczby od 0 do 100")
for i in linia:
    if 0 <= int(i) <= 100:
        print(i)
#2
print("liczby parzyste")
for i in linia:
    if int(i) % 2 == 0:
        print(i)
    else:
       print(f'Liczba nieparzysta: {i}')

 

komentarz 24 listopada 2020 przez qwert 100 Obywatel (1,250 p.)
jest wszystko działa

Dzięki wielkie
komentarz 24 listopada 2020 przez Nelson89 Dyskutant (7,720 p.)
Super!

Podobne pytania

+1 głos
1 odpowiedź 402 wizyt
pytanie zadane 20 lutego 2020 w Python przez Piotrovsky Nowicjusz (170 p.)
0 głosów
1 odpowiedź 264 wizyt
pytanie zadane 27 kwietnia 2022 w Python przez niezalogowany
+2 głosów
2 odpowiedzi 1,110 wizyt
pytanie zadane 8 lutego 2023 w C i C++ przez polandonion Mądrala (7,040 p.)

92,550 zapytań

141,394 odpowiedzi

319,522 komentarzy

61,935 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!

...