2016-07-13 18 views
-2

私はそれほど知らないので、私はpythonには新しいです。こんにちは。誰でもこのコードで何が起こっているか教えてください。誰でもここで起こっていることを説明することができます

コードは次のとおりです。

import string 

    def ispangram(string1,alphabet = string.ascii_lowercase): 

     alphaset = set(alphabet) 

     alpha = set(string1.lower()) 

     return alphaset <= alpha 

    ispangram("The quick brown fox jumps over the lazy dog") 

出力: 真

+0

私はそれに答えようとしましたが、より良い質問をするために、コード内で何をしているのか理解できていないのか、そしてどこを調べようとしたのかを実際に説明する必要があります。私はそれが珍しいset()の '<='の使用であることを推測しました(ちなみに、私は知らなかったがドキュメントで調べました...)。初心者であれば、関数のパラメータのデフォルト値、コンストラクタ、ブール値、関数の完全停止、オブジェクトメソッドの構文などと混同することがあります。 – TessellatingHeckler

答えて

2

パングラムはそれにアルファベットのすべての文字を持っている文です。

このコードでは、 "(入力中)?"(アルファベットのすべての文字)を入力してください。

  • アルファベットのすべての文字は、組み込みモジュールstring.ascii_lowercaseから来ています。

  • Thetheなどの比較作業を行うには、lower()を使用して入力を小文字に変換します。

  • 比較は、セット(Pythonのコレクションタイプの1つ)を使用して行われます。オペレータ<=がセットで使用されると、左手セットのすべての要素が右手のセット(https://docs.python.org/2/library/stdtypes.html#set.issubset)にあるかどうかがチェックされます。

だから、文字通りは、(小文字でアルファベットの(すべての文字の集合))(入力中(文字のセット - 小文字にそれらを変換した後))のサブセットである "と言いますか? "。

関連する問題