Hướng dẫn how do i check if a string contains all letters of the alphabet in python? - làm cách nào để kiểm tra xem một chuỗi có chứa tất cả các chữ cái trong bảng chữ cái trong python không?

Tôi đang cố gắng viết một chương trình Python kiểm tra xem một chuỗi nhất định là pangram - chứa tất cả các chữ cái của bảng chữ cái.

Do đó, "We promptly judged antique ivory buckles for the next prize" sẽ trả về

import string

alphabet = set(string.ascii_lowercase)

def ispangram(input_string):
    return set(input_string.lower()) >= alphabet
0 trong khi bất kỳ chuỗi nào không chứa mọi chữ cái của bảng chữ cái ít nhất một lần sẽ trả về
import string

alphabet = set(string.ascii_lowercase)

def ispangram(input_string):
    return set(input_string.lower()) >= alphabet
1.

Tôi tin rằng tôi nên sử dụng Regex cho cái này, nhưng tôi không chắc làm thế nào. Nó sẽ trông giống như thế này:

import sys
import re

input_string_array = sys.stdin.readlines()
input_string = input_string_array[0]

if (re.search('string contains every letter of the alphabet',input_string):
    return True
else:
    return False

Hướng dẫn how do i check if a string contains all letters of the alphabet in python? - làm cách nào để kiểm tra xem một chuỗi có chứa tất cả các chữ cái trong bảng chữ cái trong python không?

Rypel

4.5182 Huy hiệu vàng24 Huy hiệu bạc36 Huy hiệu đồng2 gold badges24 silver badges36 bronze badges

Hỏi ngày 5 tháng 4 năm 2016 lúc 12:54Apr 5, 2016 at 12:54

Hướng dẫn how do i check if a string contains all letters of the alphabet in python? - làm cách nào để kiểm tra xem một chuỗi có chứa tất cả các chữ cái trong bảng chữ cái trong python không?

2

Đây không phải là điều tôi giải quyết với biểu thức chính quy, không. Tạo một tập hợp của chuỗi thấp hơn và kiểm tra xem nó có phải là siêu của các chữ cái của bảng chữ cái không:

import string

alphabet = set(string.ascii_lowercase)

def ispangram(input_string):
    return set(input_string.lower()) >= alphabet

Chỉ khi mọi chữ cái của bảng chữ cái nằm trong tập hợp được tạo từ văn bản đầu vào thì nó mới là một siêu sao; Bằng cách sử dụng Superset và không bình đẳng, bạn cho phép dấu câu, chữ số và khoảng trắng, ngoài các chữ cái (ASCII).

Demo:

>>> import string
>>> alphabet = set(string.ascii_lowercase)
>>> input_string = 'We promptly judged antique ivory buckles for the next prize'
>>> set(input_string.lower()) >= alphabet
True
>>> set(input_string[:15].lower()) >= alphabet
False

Đã trả lời ngày 5 tháng 4 năm 2016 lúc 12:56Apr 5, 2016 at 12:56

Martijn Pieters ♦ Martijn PietersMartijn Pieters

997K278 Huy hiệu vàng3923 Huy hiệu bạc3263 Huy hiệu Đồng278 gold badges3923 silver badges3263 bronze badges

3

Đây là giải pháp của tôi trong Python:

alphabet = "abcdefghijklmnopqrstuvwxyz"
sentence = input()
sentence = sentence.lower()
missing = ''
for letter in alphabet:
  if letter not in sentence:
    missing = missing+letter
if (len(missing) != 0):
  print("missing", missing)
else:
  print("pangram")

Đã trả lời ngày 19 tháng 3 năm 2021 lúc 17:45Mar 19, 2021 at 17:45

Bạn không cần Regex. Những gì bạn muốn có thể được thực hiện trong hai dòng với hiệu quả không gian tốt.two lines with good space efficiency.

ms = itertools.chain(range(ord("a"),ord("z")),range(ord("A"),ord("Z")))
flag = all(chr(o) in string for o in ms)

Đó là nó.

import string

alphabet = set(string.ascii_lowercase)

def ispangram(input_string):
    return set(input_string.lower()) >= alphabet
2 là chuỗi bạn muốn kiểm tra.
import string

alphabet = set(string.ascii_lowercase)

def ispangram(input_string):
    return set(input_string.lower()) >= alphabet
3 sẽ là
import string

alphabet = set(string.ascii_lowercase)

def ispangram(input_string):
    return set(input_string.lower()) >= alphabet
0 hoặc
import string

alphabet = set(string.ascii_lowercase)

def ispangram(input_string):
    return set(input_string.lower()) >= alphabet
1 tùy thuộc vào việc tất cả các ký tự có ở
import string

alphabet = set(string.ascii_lowercase)

def ispangram(input_string):
    return set(input_string.lower()) >= alphabet
2 hay không.

Đã trả lời ngày 5 tháng 4 năm 2016 lúc 13:18Apr 5, 2016 at 13:18

C Pandac PandaC Panda

3.1572 Huy hiệu vàng10 Huy hiệu bạc11 Huy hiệu đồng2 gold badges10 silver badges11 bronze badges

Một pangram là một hàm chứa ít nhất mỗi chữ cái của bảng chữ cái. Tôi đã thử theo cách này:

def pangram():
n = str(input('give me a word to check if it is a pangram:\n'))
n = n.lower()
n = n.replace(' ','')
if not isinstance(n, str):
    return n, False
elif set(n) >= set('abcdefghijklmnopqrstuvxywz'):
    return n, True
else: 
    return n, False

Hàm isinstance (n, str) kiểm tra xem n là một chuỗi. Hàm SET () cung cấp cho chúng ta một bộ. Ví dụ: tập hợp ('Penny') trả về {'y', 'e', ​​'p', 'n'} ... như bạn thấy đó là một tập hợp không có các chữ cái lặp lại.

Đã trả lời ngày 1 tháng 4 năm 2017 lúc 14:33Apr 1, 2017 at 14:33

3

Hôm nay tôi đã thực hiện cùng một bài tập, có lẽ đó không phải là aproach tốt nhất, nhưng tôi nghĩ nó dễ hiểu.

def ispangram(s):
  stringy = ''
  flag = True
  validLetters = "abcdefghijklmnopqrstuvwxyz"

  #transform the given string in simple string with no symbols only letters
  for char in s.lower():
    if(char in validLetters):
      stringy += char

  #check if all the letters of the alphabet exist on the string
  for char in validLetters:
    if(char in stringy):
      pass
    else:
      flag = False
      break

  return flag

if(ispangram("We promptly judged antique ivory buckles for the next prize")):
  print("It's PANGRAM!")
else:
  print("It's not Pangram :(")

Đã trả lời ngày 22 tháng 2 năm 2018 lúc 18:27Feb 22, 2018 at 18:27

Hướng dẫn how do i check if a string contains all letters of the alphabet in python? - làm cách nào để kiểm tra xem một chuỗi có chứa tất cả các chữ cái trong bảng chữ cái trong python không?

2

import string

def ispangram(str1, alphabet=string.ascii_lowercase):
    return ''.join(sorted(set(str1.lower().replace(" ","")))) == alphabet

Đầu tiên đã thay đổi tất cả các bảng chữ cái thành chữ thường và sau đó loại bỏ tất cả các không gian bằng cách sử dụng thay thế. Sau đó chuyển đổi thành Set để có các ký tự độc đáo và sau đó được sử dụng chức năng được sắp xếp để sắp xếp theo thứ tự bảng chữ cái. Vì chức năng được sắp xếp đưa ra một danh sách, vì vậy hãy tham gia Func để tham gia mà không có khoảng trắng và sau đó so sánh nó với tất cả các ký tự viết thường.

Đã trả lời ngày 20 tháng 10 năm 2020 lúc 11:56Oct 20, 2020 at 11:56

Hướng dẫn how do i check if a string contains all letters of the alphabet in python? - làm cách nào để kiểm tra xem một chuỗi có chứa tất cả các chữ cái trong bảng chữ cái trong python không?

Đây là giải pháp của tôi:

def isaPangrams(s):
    alph = list(string.ascii_lowercase)
    s = s.lower()
    s = list(s)

    for letter in alph:
        if letter not in s:
            print('not pangram')
            present='false'
            break
        if letter in s:
            present = 'true'

    if present == 'true':
        print('pangram')

if __name__ == '__main__':
    s = input()
    answer = isaPangrams(s)

Tư cách

2.3831 Huy hiệu vàng26 Huy hiệu bạc40 Huy hiệu đồng1 gold badge26 silver badges40 bronze badges

Đã trả lời ngày 7 tháng 1 lúc 8:26Jan 7 at 8:26

Hướng dẫn how do i check if a string contains all letters of the alphabet in python? - làm cách nào để kiểm tra xem một chuỗi có chứa tất cả các chữ cái trong bảng chữ cái trong python không?

1