2016-10-08 5 views
0

私は初心者向けのPythonコースです。 最大6語の入力を略語に変換するコードを作成する必要があります。入力の文字がPythonで指定されたものと一致するかどうかを調べる

頭字語を作成する前に、単語に指定されたセットの文字のみが含まれているかどうかをチェックする必要がありますが、特殊文字(õ、ä、 ö、ü)。

def main(): 

    nr_of_words_limit = 6 
    chars = "abcdefghijklmnopqrstuvwõäöüxyz" 

    def not_allowed_characters_check(text, chars): 
     """This checks if all words in text only include characters from chars""" 

    def acronym(text, chars, nr_of_words_limit): 
     """Creates acronym after checking for not allowed characters""" 

ので、この場合には:

text = "Hello World!" 

それはちょうどそのテキストが感嘆符のために許可されていない文字が含まれていると言うでしょう。

テキスト内のすべての単語のすべての文字が文字と一致する場合はどうすれば比較できますか?

ご協力いただきありがとうございます。本当にありがとうございます。

答えて

1

最も簡単な方法は、単語内の文字の集合がset(word).issubset(alphabet)を使用するアルファベットのサブセットであるかどうかを確認することです。

alpha_set = set("best") 
print set("test").issubset(alpha_set) 
print set("testa").issubset(alpha_set) 

プリント:たとえば

True 
False 

Example here

0

あなたはテキスト内のすべての単語が特定のパターンに一致するかどうかを確認するためにregular expressionsを使用することができます。大文字のA-Zと小文字のa-z(あなたの例から推測します)とõäöüという文字のアルファベットの文字でなければなりません。

正規表現の使い方を学ぶのは初心者にとっては難しいかもしれませんが、少しでも練習すれば、非常に便利で効率的です。

#!/usr/bin/env python 
# -*- coding: utf-8 -*- 

import re 

def check_allowed_chars(text): 
    """ 
    """ 
    pattern = re.compile('[a-zA-Zõäöü]+$') 
    words = text.split() 
    for word in words: 
     if not pattern.match(word): 
      print('The text contains not allowed characters!') 
      return 
関連する問題