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

行き詰ったから復習してみた_11/08_update

こんばんは(*´ω`)

ありますよね、そんな事も、人間だもの。
そんな時は御参りをしたり、散歩したり、
あとは理解したことを整理します。

今までやったことは身についてるのでしょうか??(笑)

パソコンに向かって書こうとしても
行き詰った負のイメージしか湧いてこないので、
取りあえず、手書きしてみました。
スタックでも実装してみます。

何も見ないで、やってみましたが、
最初は手が動かなくて途方に暮れます(笑)
でも、幹の部分だけでもいいので
書いて、PC に取り込んで動かしてみます。
足りない所、どうすればコードを昇華させられるか
考えて変更してみます。

ある程度、煮詰めた後に問題ないか整理してみました。
IMG_0036.jpg
ざっくり仕様
1.user interface は 3択 (push/pop/end)
2.例外処理を盛り込む
3.バッファ出来るデータ個数は 5個※個数は気分

stack.py
class stack_sys:
    def __init__(self,size=5):
        buff =[]
        self.buff = buff
        self.size = size
    def push(self,InD):
        if len(self.buff) >= self.size:
            print("full")
            print(self.buff)
        else:
            self.buff.append(InD)
    def pop(self):
        if len(self.buff) <= 0:
            print("empty")
        else:
            return self.buff.pop() # pop(0) にするとqueue に変更

stack = stack_sys()

if __name__ == "__main__":

    while True:
        sel_mode = int(input("1.push,2.pop,3.break"))

        if sel_mode == 1:
            try:
                Din = int(input(""))
                stack.push(Din)
            except:
                pass
        elif sel_mode == 2:
            try:
                Dout = stack.pop()
                print(Dout)
            except:
                pass
        else:
            break

プログラムに行き詰ったら
皆さんは何をしますか?
騙されたと思ってやってみてください、スッキリします(≧▽≦)

今日、偶然ですが、プログラミングのチカラを身につけるならに出会いました。
継続し、少しずつ深化する考え方にとても救われました。
私のように既存のコードを動かして表面だけ理解し
記事にすることは間違いではないようですが、
それだけで終わってしまっては何も意味がないと理解しました。

ゼロから自分のイメージをコードに落とし、
自分なりに確かな理解を積み上げていきたいと思います。
過去の記事で不足分は今後 update していきます。

引き続き宜しくお願い致します。m(_ _)m

11/04_update*************************************************************************************
sort を使わずにバブルソート をupdate しました。
シンプルなアルゴだとは思いますが、for の中身を
どこまでキッチリかけるかで、全く成立しないプログラムになっちゃいます。
11/05_update*************************************************************************************
sort を使わずにクイックソート をupdate しました。
ここから再帰処理が入ってきます。
まず最初に基本構成をキッチリ作ります。
そのあとは再帰処理したい領域を if 文で
しっかり分割できれば、あとは渡すだけです。
例えばですが条件で使う < , <= の違いを意識しないと
コードの挙動が別物になります(笑)
11/07_update*************************************************************************************
sort を使わずにマ―ジソート をupdate しました。
イメージを全て伝えきれていないかもしれません。
それは私の理解不足を露呈しているかも。。
11/08_update*************************************************************************************
避けて通りたかった Hash chain その(1) をupdate しました。
申し訳ありません、一部間違ってましたm(_ _)m

AKpirion
とりあえず、やってみよう! 分からないって楽しい( *´艸`)
Why not register and get more from Qiita?
  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