Python - imprimir todas aquellas lineas de un archivo que no empiecen con la letra M

 
Vista:

imprimir todas aquellas lineas de un archivo que no empiecen con la letra M

Publicado por Carla (1 intervención) el 30/04/2018 00:21:14
Hola, quiero saber como puedo hacer estos dos ejercicios en python:
1. Hacer un programa que imprima todas aquellas lineas de un archivo que no empiecen con la letra M.
2. Hacer un programa que cuente en total e imprima cuantas veces aparecen las letras a y e en un archivo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

imprimir todas aquellas lineas de un archivo que no empiecen con la letra M

Publicado por tincopasan (1082 intervenciones) el 30/04/2018 08:54:31
que bueno que te gusta hacer tareas en vez de mostrar u orientar, este foro paso a ser haganme la tarea!
viendo tu código¿para qué tantas líneas? lo resumí un poco:
1
2
3
4
5
f = open("x.txt") #¿para qué "r"? si python lo toma por defecto
with f:                  #ya no es necesario cerrar el archivo, se cierra solo        
    for linea in f:  #no entendí para que crear una lista con sus lineas
        if linea[0].upper()!="M": #acá comparas que sea igual y si lo es usas continue, otra sentencia al vicio
            print(linea,end="")

es lo mismo de forma más corta en caracteres y líneas.
por supuesto que tu código cumple el objetivo, pero te olvidas de la esencia de python
"simple es mejor"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar
Imágen de perfil de kip
Val: 1.120
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

imprimir todas aquellas lineas de un archivo que no empiecen con la letra M

Publicado por kip (257 intervenciones) el 30/04/2018 16:15:28
Hola tincopasan, por que tantas lineas ?

1
2
with open('sample.txt') as f:
    print(*[l.strip() for l in f if l[0].lower() != 'm'])

El código de Xve a mi parecer resulta mucho mas amigable para un usuario que recién esta empezando, creo que es por eso que lo hizo tan "verbose" o explicito, ahora bien si mencionamos la "esencia" de Python tenemos(en sus primeras lines):

1
2
3
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.

Fíjate en la segunda línea, si bien esto se aplica a la sintaxis de Python podríamos decir que el ser explicito también es la esencia del lenguaje.

Claramente se deben aprovechar las ventajas y el azúcar sintáctico que provee Python, pero creo que para alguien que se inicia es mejor ser explicito.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

programa que cuente en total e imprima cuantas veces aparecen las letras a y e en un archivo

Publicado por xve (1646 intervenciones) el 30/04/2018 08:15:29
Aquí tienes el segundo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
"""
el archivo se denomina x.txt y en su contenido tiene
linea 1
Musica

linea 4
madrid
"""
 
# abrimos el archivo solo de lectura
f = open("x.txt","r")
 
# Creamos una lista con cada una de sus lineas
contenido = f.read()
 
print(contenido.count("a"))
print(contenido.count("e"))
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar