Help us understand the problem. What is going on with this article?

初級者がPythonの勉強を始めてcheckIOが役に立った話

More than 1 year has passed since last update.

エンジニアの仕事を始めて一年ほどの自分がpythonの勉強を始めて参考書の次に実践したのがcheckioだったが、実践してみると楽しかったのでその内容を記しておこうと思う

これまでやったこと

この業界に入ったのもまだ1年足らずである。現在はphpを主に仕事では使用し、python自体は一ヶ月前ぐらいから勉強を始めた。主に書籍を利用し、以下の本を一通り読んだ

  • 入門 Python3

始めてよかった点

  • 書籍を読んで理解しているつもりの箇所が問題をこなすうちに浮き彫りになった
  • 問題を解いてどのように応用するのかという記載があり、ただこなすだけでなく解く意味も理解して勧められ、応用が効くようになる
  • 徐々に難しくなるため始めて触れる人にはちょうど良い難しさ

自分の回答コード

自身の後学のためにも、コードを記述しようと思う。
プログラミングの経験がそんなにない人や、回答に自身がない人が見てこのレベルで大丈夫なんだなと思ってくれればそれでいい

  • 1問目

丈夫なパスワード作成らしい。
初めての問題ということもあって何をすれば良いのか、どのように提出すれば良いのか分からずコードを書き始めるまでがまず長かった。

House_Password.py
import re

DIGIT_RE = re.compile('[0-9]]')
UPPER_RE = re.compile('[A-Z]')
LOWER_RE = re.compile('[a-z]')

def checkio(number):

    if len(number) < 10:
        return False

    if not DIGIT_RE.search(number):
        return False

    if not LOWER_RE.search(number):
        return False

    if not UPPER_RE.search(number):
        return False

    return print(True)
  • 2問目

最も頻出頻度の高い文字を返す処理。
リスト処理が使いなれておらず、色々調べつつ書いた。
本で読むのと、書くのではやっぱり違うなと実感

The_Most_Wanted_Letter.py
import string


CHARA_ST = string.ascii_lowercase
list = []

def checkio(sentence):
    sentence = sentence.replace(' ','')
    sentence = sentence.lower()
    numMax = 0

    for x in CHARA_ST:
        numIn = sentence.count(x)
        if numIn > numMax:
            numMax = numIn
            maxString = x

    print(maxString)
  • 3問目

今回は出現回数が一度のものを取り除く処理
これはデータ処理のノイズを取り除く処理の基本となるらしい。
この問題がどのように役立つのかを読んで、少しだけ問題を解くテンションが上がった。

Non_unique_Elements.py
def checkio(number):
    numList = list(number)
    outnum=[]
    for x in numList:
        count = numList.count(x)
        if  count>1:
            outnum.append(x)

    return(outnum)

あとがき

初めてQiitaに投稿してみた。
内容も支離滅裂で悲しくなる。

アウトプットの場として挑戦してみたが、文章を書き人にみてもらうというのは難しい。
技術も文章もまだまだすぎるので勉強します。

現在の目標はwebアプリを作成し、公開すること。
いつになるやら・・・・

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away