Проверка Панграмы в Python - PullRequest
0 голосов
/ 03 мая 2020

Я пытаюсь использовать .pop, чтобы проверить панграмму и получить следующий код, но получаю сообщение об ошибке «У объекта« str »нет атрибута« pop »». Я новичок в программировании. Пожалуйста, помогите.

import string

def ispangram(str1, alphabet=string.ascii_lowercase):
    for x in str1:
        if x in alphabet:
            alphabet.pop[0]
        else:
            pass
    return len(alphabet)==0

Ответы [ 2 ]

0 голосов
/ 03 мая 2020

Один из подходов заключается в использовании наборов :

import string 

def check(s):
    """ 
    Return True if string s is Panagram
    """
    alphabet=string.ascii_lowercase
    return set(alphabet) - set(s.lower()) == set([])

PS: если вы хотите увидеть, какие атрибуты / методы объекта просто используйте dir(<object>)

0 голосов
/ 03 мая 2020

Объекты списка и словаря имеют только метод pop. Вы пытаетесь удалить символ в 0-м индексе строки. Таким образом вы можете попробовать это:

def ispangram(str1, alphabet=string.ascii_lowercase):
    for x in str1:
        if x in alphabet:
            alphabet = alphabet[1:]
        else:
            pass
    return len(alphabet)==0

output

print (ispangram("The quick brown fox jump over the lazy dog", "s"))

False
...