Dada una string, escriba un programa en Python para verificar si esa string es Pangram o no. Un pangrama es una oración que contiene todas las letras del alfabeto inglés.
Ejemplos:
Input : The quick brown fox jumps over the lazy dog Output : Yes Input : abcdefgxyz Output : No
Ya hemos discutido el enfoque ingenuo de la comprobación de pangramas en este artículo . Ahora, analicemos los enfoques Pythonic para hacer lo mismo.
Enfoque n.º 1: Pythonic Naive
Este método utiliza un bucle para comprobar si cada carácter de la string pertenece al conjunto alfabético o no.
# Python3 program to # Check if the string is pangram import string def ispangram(str): alphabet = "abcdefghijklmnopqrstuvwxyz" for char in alphabet: if char not in str.lower(): return False return True # Driver code string = 'the quick brown fox jumps over the lazy dog' if(ispangram(string) == True): print("Yes") else: print("No")
Yes
Enfoque n.º 2: uso de Python Set
Convierta la string dada en un conjunto y luego verifique si el conjunto alfabético es mayor o igual que él o no. Si el conjunto de strings es mayor o igual, imprima ‘Sí’, de lo contrario, ‘No’.
# Python3 program to # Check if the string is pangram import string alphabet = set(string.ascii_lowercase) def ispangram(string): return set(string.lower()) >= alphabet # Driver code string = "The quick brown fox jumps over the lazy dog" if(ispangram(string) == True): print("Yes") else: print("No")
Yes
Enfoque #3: Alternativa al método set
Este es otro método que usa Python set para encontrar si la string es Pangram o no. Hacemos un juego de letras minúsculas y la string dada. Si el conjunto de strings dadas se resta del conjunto de alfabetos, sabemos si la string es pangrama o no.
# Python3 program to # Check if the string is pangram import string alphabet = set(string.ascii_lowercase) def ispangram(str): return not set(alphabet) - set(str) # Driver code string = 'the quick brown fox jumps over the lazy dog' if(ispangram(string) == True): print("Yes") else: print("No")
Yes
Enfoque #4: método ASCII
Compruebe si cada carácter de la string se encuentra entre el rango ASCII de alfabetos en minúsculas, es decir, 96 a 122.
# Python3 program to # Check if the string is pangram import itertools import string alphabet = set(string.ascii_lowercase) def ispangram(str): return sum(1 for i in set(str) if 96 < ord(i) <= 122) == 26 # Driver code string = 'the quick brown fox jumps over the lazy dog' if(ispangram(string) == True): print("Yes") else: print("No")
Yes
Publicación traducida automáticamente
Artículo escrito por Smitha Dinesh Semwal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA