I'm trying to count the number of 8's from a text file, but it didn't show the correct answer. It's supposed to be 50 8's, but my code only counts 40.
from sys import argv
counter = 0
if len(argv) == 1:
print("ERROR! You forgot to type something")
else:
for a in open(argv[1]):
if a.count("8"):
counter = 1
print(counter)
Right below is the text file. (Answer is 50 8's). I noticed that if there are two or more 8's in a single line, my code will only still count it as one.
% E / C 8 H 4 G # p A % 7 H i G 7 O 7 X W K P : z < y D ^ z z 6 P > ^ A j % b
3 G ` a , o ` } w k / 4 ; 4 s _ N | Z ) \ ' B \ t P $ ? % q h c G ! t - ) n c
6 i ; X o ; N " * q ? B v K D ) $ s _ P t = n 3 5 | t 7 3 U v 2 8 = ? i r R
& F ( = [ , 6 W r 5 ` t 0 5 & E 9 ( : Q F W ; B 0 t ; 4 X e ` " H i ; j q 1
9 6 R . B L H \ b Y X m [ M ` 2 = K 3 % b p c < J G 4 [ S $ % ; u t i p % v s *
c c c t . n S D $ u F 9 Z G Q Z K q l K $ r W l s g m / ? 8 { I < % > G L
' i I " q = o W n N < > u " 9 ` 3 ^ % T q G P e E \ [ K p k V m s % m 6 @ L | m
Z # k B = u ) 5 r y % } M P ' Q ? 5 ` g 1 @ U L o Y ! b R : k ; } z c e * U U
Y J i ? Q " , z = N 6 q } L \ . ; # 5 S N . $ T 9 r w e G X < K 4 V V ^ { ;
b ! $ ! 5 g S b 9 y ] O c z * # ^ ! x $ h / 4 6 > ] } % i J F # ( b 4 E S p r
' B o # i f ( \ A * i r 5 8 b % [ F % ) D u ) 7 z n ] Q a L S j x } u n ; L
q = @ N q l 8 0 A k g - ^ ] 6 l ? R v Y ] ( ( B ] ] U z ( ! 5 ^ ] c @ 8 8 a ?
T I F O l v = M k & G f T a 6 = 6 q p O a { : < : ^ " Q _ : j B M ` . : { # L }
h h D A K C % 8 { 8 5 " 7 : F L k d ) f u c F | 5 k C 9 ' I * > f ] @ } ; # K k
@ _ T q J f v 6 O A 7 G U ] G I i , } # ; C ] | d " 4 % u C V g , ' q M d 7 2
Q h I B m k C 5 8 n u 3 | S _ 2 & _ k : o ) V X a > M C \ s ( < y W ) i { g 9
` s d t e . T 0 ) R > U C t X ] K G ( { k T E o Z M V _ h D > Y q 1 R | % f
[ * h r 1 ( $ U # t q S f J a ? p ? ) 3 p C t s g z # ! I & % < K V 7 y T { 3 t
q & F " O j @ h N / m 5 { A . L | % B ] < 8 w t Y z . 1 f : R i L j Z J Z & u
1 | h D ; P ( M j N p l Q c 8 = X % h = t H 5 g T / 6 y 2 { U 7 z c , N S
` o C K m h d 6 [ n E k \ E r . m D G d q P 9 r K ' u N 5 i g 6 w = U [ 9 . ]
' q k * y } { O z z n v @ d o ^ x t S J _ w I 4 u - J ` _ % " ) t 4 2 M x ' - R
u l Z n 1 , . ] ( 6 ! E u H n R h 8 r X B C _ d H 5 4 & d V Z \ W < x A P $ G <
= { ( 7 ^ F A & l ` z 1 0 ` { @ ) > c n X G y E r : C 1 & [ n _ a a 2 z J ; # R
2 V % R i G 5 H i 9 c : N - V # w 6 m L ` ; ! J E P 4 ^ T P K O Z > > { l D . D
* % 6 5 X x { c b e { m h = F ( l B 7 M 3 ] j N U x J / b y M h ( Y [ q h s " ^
N q p q , p ^ & C L ! $ f i 0 C j k ] 3 & b _ f b - f j # ` 3 t z F v m X I A n
O S Q 0 : a 0 M R ? O p 0 . 8 L p K [ N w I t r 3 ' 2 \ x o P ` 1 A = 2 . M f q
( z | Z % d 7 j 2 j $ Z w ' S U F H w * h N X C b y z F $ o * J ! % E , _ m 2 j
H T O l ` j z V @ t F U U . ; j ' / 4 < x f 0 3 h 1 Z 7 V 6 C b B d . < C " J f
X E / \ b < Z 2 O q ; i P y u - } 8 % P k U U ] R - $ n V ) Y _ . B M e ] # V
U M v 0 Y g 8 X & z D 5 ! x d U @ l _ p 6 q L ^ % b $ P G f \ S < H E ! _ | '
c b P ^ $ 4 R { $ C X t 4 Q q @ x 8 @ y [ f ! l D v b ] < ? M / ? < n q D w \
1 0 H k r t F K B < D = g j f w j Y * K ) 2 l x ! r J [ o R J ? | q r Z z 0 : \
Q H I / 5 * { } y f 8 8 = c 4 x b $ - B C $ O O 5 [ * 8 n G i 4 I L d r N X ` M
J 3 o * g ) 7 , z : } U y 3 T j p S ? J } t v w D { 2 * y d T n o k 3 2 s Y D F
S ! U G Q 0 2 ] ; y % X ' \ K 6 i 5 r O F } J 7 [ $ F j Q x [ b x p K | z o {
, h q 4 a & - ^ 7 y H } U ) & s f Y p R < N i ^ { N y ( 5 c P t ` F * , = , [ T
{ ) p c l T k P m i L e M [ # \ < V = 9 ' 8 P # W 2 { W d s " I o < k @ K
L n = V * ( l z T & u @ | w ] # m h \ s / j ? N u v l m J i O y M K o < S 4 T u
c 3 , I t % ! X W G L 8 G V Y 4 K Y ? L 9 3 & q > s _ ] b 7 ^ T & v K O U ; R Y
t ! ] v ' b v ` V Y P _ O * Z s 1 0 l } : ] k A , 4 d & % U ; m s l r 8 m C | s
4 0 ^ Y & Q , c ` m \ z u / C l / P w { L ( n h < ( g D ; e A o y t ' > { s u
b ( % D z # b q - 2 s 2 X ] - A Y U _ X w j S 4 q v @ < _ # E e r R 8 l ( J o |
& X T " [ e e s , 0 M 3 a V m \ k p g $ \ R k / D f - T \ , A 4 ( h ` u . W 7
k & E 2 @ N ) 5 J ] d Y Y Y ] V 3 ) | & : 1 E g n X S I p J 4 B u f : M p # 8
$ , $ & E j x ] ^ d 2 N Z R x U H ! a Y t I % % w s . R q p @ N , o ! I : L j #
@ K w j v 0 1 E q < - S R x T ! t f @ R v R _ c P ; s $ _ H F ( @ $ d ( L Q 8 S
! O # m F > d * W > & q o t B ) $ s j ` 2 = N v > K 6 P 7 2 U s % / 0 ( V C d
a q T O % 3 u G R I i c " 8 s P Y t $ W < y V = * 4 n g ; o ` ` n Q o ) 9 [ <
k N C ( 4 | { S ? ; u y > ( s * ( 7 Q ^ % D k o S 0 L ( $ q 4 C B _ W p q 4 b
1 4 q < = r > 1 o 5 & r R s # 1 } c q F [ ; 5 O @ } } u q . k y q 9 ` K e x X ,
{ I k L X | 0 C 4 2 6 L ! B z E . E e N n f u 2 f j ( e 7 1 O ` ( C < d N Q x
C A G p v p 3 j X t : k , N M X / ` * 2 y * c 3 3 _ ) 7 U O N = c
/ c K R ] i h 8 y * 0 x u ; # m , ) c ( " 4 D } K d t < 7 \ " , " Y P y = j z
% W w A 6 t d 5 ^ W 5 e 5 G * Z ! H G ; z u I Z H l m J G Y ' Y * r * K 2 w V L
Q G P j B ) a j a d ` I N H 5 r B 5 d E z ] A a { B 3 { E c t d b C h E " C 4 i
$ H ? K u P 1 j P 7 p * - b > U V x [ r ! V H o B d @ S l U a U . U # G ' \ % *
$ = 3 " = m T [ J W 6 9 - o ? W % ( g N & V ; / % r i , V < q u S [ B 9 N ( f *
L p v P c h . d g ; R J X , 1 y N ; S " 4 B i , t X ^ , _ , j w 7 J w v D b ; 0
4 P A ' ' S U 8 K n p r k 2 f ] X p y ^ n / 6 0 Z ^ I \ h ) J y z < y 1 J ? / n
= _ q } Y d F 5 3 J 8 f D @ ^ _ m % ] 9 e o T H ^ ' E D w C " Z ] R 9 : & , `
1 \ 8 6 H m ? 1 i q 2 N . D ` , 9 C ( l / w e K [ 8 b ` - U Z w w o Q Z > t g X
* ] * P O 2 O v > U ) n n ) v % 3 ` " ^ v J # b ) 2 O c $ v [ r g ' W % $ Z j
/ F A t K ? 6 m a e $ v u o < ^ 2 8 N s " G V y ^ { < 0 { Y P { = } } 6 g 5 R )
: o 2 . S H u * L < 0 @ [ m > > w x S > j m D _ ^ W _ o ! B [ 4 z N W - E G > _
| j - w N c b t q c } _ S . z l ( 5 / U 2 l 7 2 $ n Z 5 N ) ' L ) z A ? % 8
T % R j x _ e B { e < M l * 2 . H N O e ! } ] ( } R z W u _ C { - A W W h f ! }
# @ C % y > T _ W L E ? I t l I r O \ 7 v l } W ^ o Z i j u R % < p p x b 2 A I
, < F g i @ W D u 0 n T > d " _ M L 2 < o 5 u s 8 L L O ] C - v ) 2 3 S 8 m Z 5
q 3 : < { T / 6 ` I I 0 # ] L _ % w ` c 9 0 s V y M U a ? m C ! i r 4 | / D L
v } B z N ) - B # R U * s u & w 6 * H [ u 7 U b ) C 9 C { K ! , P n = I Y K 1
- { E ! m : : = Y / D ] . $ x 9 h C K P \ y Y w * r % s / f 3 L J T [ ] " / ' %
j v ) 6 [ 1 ^ 8 ! % d w - q ; U P a 2 O x : & 0 [ @ _ D l > B R x q , e $ u ! H
| E N 7 l W k w . 8 # V ? { | S Q Z q s 4 V p Q m 6 a $ 6 K t ` } " o u e c ( c
a F o f @ W R ` [ ; C O B v 8 E L W s \ r l C 0 h 5 ^ ? \ > \ A @ U Z w U 9 s ,
d Y A K P % M d e j e Q D 4 b 0 S E 9 V w 3 F 2 9 0 E ^ m | = D k o = ' u M ]
. / k W Q ) I 5 & W q P $ ] F $ > t h Y e F 5 0 ` ' % 2 A T 8 ` j v Y s 7 " b e
O A Q k j $ a 6 | , } # 4 ! 3 N _ U H B 0 ( B 9 G m T A 0 m ! 3 , j y ) . u
G d ? l \ 3 n O 2 N z P : w _ h \ 4 b B B _ z u " t b ( o ( c k r $ p G { f Q
E E C D d * ] ; F & ' f e c G l M # A % g : 1 C 3 g Z - h R r Q P Z S 0 o z f f
@ U f c c = l ? M m ! q j e [ ; ^ E 6 U w < : @ M b m . > d L z V b P 0 Y E e 1
$ , x L T d ' @ ) - o > ^ $ / h 3 M 5 o b M w G > C | * > 6 Y g ] M i ] > 9
_ { $ o $ T _ } = 0 W n 4 F & G 5 M S \ r C W X 6 . 2 w w z g b [ a 4 S i p (
j w R : g ( ^ c ? g ! J h h Q X b 6 ^ g o / h a G 5 q T ( / 4 ; N S \ $ R & z T
O D N B E 8 r 7 O ) F f P ; . K b a Y = 8 e ; . % W k u K ] s > ) j { y 1 < e I
s " | w r - t : U X _ e r M ) ] b Q % ! B w E h ! c . X g { Q V A c I k q - v
p | = o ] 1 _ * z N E . c j f 2 z i @ 8 5 ? m a R ] " x ( ] | 3 1 3 Y e Q :
> ` { p V n @ ` " , z " t s r < < . S p ! 8 $ 9 [ ^ ( J = f g S ; 0 l e T [ ] "
c Y j 7 Y s 0 O I Z B > e X > m 7 C b x \ t # s / [ u z P Y [ " g 9 p Y k w l [
9 " z H 9 G 7 z Y i . % R ^ ( " ? T k E C & c k B % % 5 5 W # ^ T 0 . C w / {
4 = ] e * r B ] V 0 % a X y ( . ) A . z b s Z p $ # F z E U t b z s V p Q d t
7 { Y p ' D # Y 6 o B 3 ; ^ u o T 8 R z G t / y t Q , / J c p } \ i q - W t S
B 1 J s Z R % U . , H | A ? a v p 7 H t s > r > L o : 6 ] Y 4 e H Z ] ] < 4 ( L
G m S T ) # 1 : f ` " F @ G 4 _ q F 6 p z " U * " . / ` B J N B 0 c : d S d } F
l 8 F " : e 4 r ) / V A | n G Y K J U [ E k [ % S 4 J \ r z ; 6 * | N s 9 { _ 8
d d - H 0 J ` x ( { d s ( ` ) * 6 V C 2 S z B 8 8 [ ! Q ( a 1 I / P 0 u 6 9 G a
Y _ > ^ # u l . 7 ? E \ 0 } : s D S T U K S ' Z j Y 1 g 0 & 7 i W ) O 5 E ? &
c | M r ` # L & Z : 5 = - Y d B Y ? T A x , v " l i h B " d 0 / I ^ C ' W F
\ S o ! 1 4 O a " y V ! 9 1 v c b O 8 ] 7 b w % " B 7 Y 9 L 1 " Z . Z & R x
CodePudding user response:
When you iterate over a file, you are looping over each line in that file.
As you noted yourself, your solution does not account for there being more than one "8" in each line.
You want to add a.count("8") to the counter rather than just 1.
This is how I would write the code you have in your else block:
counter = 0
with open(argv[1]) as file:
for line in file:
counter = line.count("8")
print(counter)
Using with just means it will handle any issues opening your file.
