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

Pętla for w pythonie

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
865 wizyt
pytanie zadane 10 lutego 2018 w Python przez ayo1001 Obywatel (1,890 p.)
edycja 10 lutego 2018 przez ayo1001

Cześć,

Mam takie dane:

abc:

70378950
67373421
74527486
63849844
95731879
67385216

i kod:

print(abc)
for s in str(abc):
    print('To jest:' + s) 

Z niewiadomych mi przyczyn dostaje taki rezultat:

70378950
To jest: 7
To jest: 0
To jest: 3
To jest: 7
To jest: 8
To jest: 9
To jest: 5
To jest: 0
67373421
To jest: 6
To jest: 7
itd.

Jak uzyskać wynik:

To jest: 70378950
To jest: 67373421
...

 

komentarz 10 lutego 2018 przez mokrowski Mędrzec (156,260 p.)
A te abc to jest nazwa pliku czy inna struktura?
komentarz 10 lutego 2018 przez ayo1001 Obywatel (1,890 p.)
Wynik parsowania.
komentarz 10 lutego 2018 przez mokrowski Mędrzec (156,260 p.)
Gdzie lub w czym jest to abc. To jest string, lista, plik...?

W czym trzymasz ten "wynik parsowania"?
komentarz 10 lutego 2018 przez ayo1001 Obywatel (1,890 p.)
W niczym nie jest trzymana. Jest to zwykły output po parsowaniu, do którego muszę dodać wartość "przed" i "po" i wyświetlić w pętli.
komentarz 10 lutego 2018 przez mokrowski Mędrzec (156,260 p.)
Pokaż jak uzyskujesz ten "output z parsowania". Jak widzisz pyta o to już 2 osoba a inne spekulują...
komentarz 10 lutego 2018 przez ayo1001 Obywatel (1,890 p.)
with urllib.request.urlopen(link) as url: data = json.loads(url.read().decode())

number = 0
while number < 100:
    number += 1
    abc = (data['liczba']])
    print(abc)
    for s in str(abc):
        print('To jest:' + s)
70378950
To jest: 7
To jest: 0
To jest: 3
To jest: 7
To jest: 8
To jest: 9
To jest: 5
To jest: 0
67373421
To jest: 6
To jest: 7

 

1
komentarz 10 lutego 2018 przez mokrowski Mędrzec (156,260 p.)
print('To jest:' + abc)

Bez sekcji for.

komentarz 10 lutego 2018 przez ayo1001 Obywatel (1,890 p.)
Działa... Dzięki. Czasami człowiek się przytnie na głupocie.

2 odpowiedzi

+1 głos
odpowiedź 10 lutego 2018 przez mokrowski Mędrzec (156,260 p.)
#!/usr/bin/env python3

data = """70378950
67373421
74527486
63849844
95731879
67385216"""

print('Nagłówek')
for line in data.split('\n'):
    print('To jest: ' + line)
print('Stopka')

 

komentarz 10 lutego 2018 przez adrian17 Mentor (350,120 p.)
(albo data.splitlines() )
komentarz 10 lutego 2018 przez mokrowski Mędrzec (156,260 p.)
Jakkolwiek... moją cierpliwość już wyczerpał...
0 głosów
odpowiedź 10 lutego 2018 przez Tpk Nałogowiec (40,220 p.)
Konwertujesz wszystko na końcu do str, więc dlatego otrzymujesz coś takiego.

abc nw czy to jest tablica (czy co) ale żeby zrobić coś takiego co chcesz zrobić potrzebowałbyś te numery zamknąć właśnie w jakiejś tablicy.
komentarz 10 lutego 2018 przez ayo1001 Obywatel (1,890 p.)
Niestety bez str mam rezultat: 'int' object is not iterable
komentarz 10 lutego 2018 przez Tpk Nałogowiec (40,220 p.)
abc = ["70378950","67373421","74527486","63849844","95731879","67385216"]

for s in abc:
    print('To jest:' + s)

 

Tak bym to zrobił, lub inaczej:

abc = [70378950,67373421,74527486,63849844,95731879,67385216]

for s in abc:
    print('To jest: %s' % str(s))

 

komentarz 10 lutego 2018 przez ayo1001 Obywatel (1,890 p.)

No tak. Tylko jak z postaci:

70378950
67373421
74527486
63849844
95731879
67385216

Uzyskać:

abc = [70378950,67373421,74527486,63849844,95731879,67385216]

 

komentarz 11 lutego 2018 przez Tpk Nałogowiec (40,220 p.)
edycja 11 lutego 2018 przez Tpk

Jeżeli te cyfry to jeden ciąg znaków to:

abc = "703789506737342174527486638498449573187967385216"

lengo = len(abc)
abc2 = []

for x in range(0,lengo,8):
    n = int(abc[x:x+8])
    abc2.append(n)

# Efekt koncowy

for s in abc2:
     print('To jest: %s' % str(s))

Natomiast jeżeli to ciąg liczb ze znakami białymi no to splice, tak jak kolega wyżej.

Podobne pytania

0 głosów
2 odpowiedzi 276 wizyt
pytanie zadane 7 października 2020 w Python przez Dawid Popławski Nowicjusz (160 p.)
0 głosów
3 odpowiedzi 2,044 wizyt
pytanie zadane 24 lutego 2018 w Python przez jasmen11 Nowicjusz (240 p.)
+1 głos
1 odpowiedź 200 wizyt
pytanie zadane 17 marca 2020 w Python przez wojtek_suchy Mądrala (6,880 p.)

93,106 zapytań

142,082 odpowiedzi

321,605 komentarzy

62,447 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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...