Quantcast
Channel: 初心者タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 21499

100日後にエンジニアになるキミ - 34日目 - Python - Python演習3

$
0
0

本日はPythonの基礎演習の最後です。

前回はこちら
100日後にエンジニアになるキミ - 33日目 - Python - Python言語の基礎8

基礎演習3

表示されなかったらすみません

それではこれまでに学習した内容を踏まえて、演習を行っていきましょう。

少し難しめに作ってありますので、
動画を止めながらゆっくり考えて解いてみてください。

第一問:

整数1から100までのを求めるプログラムを作成してみましょう。

第二問:

フィボナッチ数(0,1,1,2,3,5,8,13・・・)のように
最初の二項は 0, 1で、以後どの項もその直前の2つの項の和
になるような数のフィボナッチ数と言います。

このフィボナッチ数を求める関数を作成しましょう。
3桁フィボナッチ数までを表示させる関数にしましょう。

第三問:

前項で取り扱ったrandomライブラリの関数を使って
英小文字のaからzか、数字0から9までの文字だけを使った
32桁の文字列を作成するプログラムを作ろう。

random.randint(最小値、最大値)
でランダムな整数値が返せる。

第四問:

aabacdcda
この文字列の文字別集計してみよう。

第五問:

景子の夫千鳥メンタリスト
この3つの文字列のうち、1つをランダムで返す関数を作って見ましょう。

すぐに答えが出ない人は、動画を止めて考えてみましょう。

コツとしては何を入力したら、どう計算されて、どう出力されるのか
それを考えながら書いてみましょう。

答えはこの下に

回答

第一問:回答

整数1から100までのを求めるプログラムを作成してみましょう。

res=0# range(1,101)で1から100まで
foriinrange(1,101):# += で加算
res+=iprint(res)

5050

# 上記を内包表記で書くと
print(sum([iforiinrange(1,101)]))

5050

第二問:回答

フィボナッチ数(0,1,1,2,3,5,8,13・・・)のように
最初の二項は 0, 1で、以後どの項もその直前の2つの項の和
になるような数のフィボナッチ数と言います。

このフィボナッチ数を求める関数を作成しましょう。
3桁フィボナッチ数までを表示させる関数にしましょう。

deffib():# まずはじめに変数を2つ用意する
a=b=1whileTrue:print(b)# フィボナッチ数は直前の2つの項の和
a,b=b,a+b# 3桁を超えたら抜ける
ifb>999:break# 上記関数の実行
fib()

1
2
3
5
8
13
21
34
55
89
144
233
377
610
987

第三問:

前項で取り扱ったrandomライブラリの関数を使って
英小文字のaからzか、数字0から9までの文字だけを使った
32桁の文字列を作成するプログラムを作ろう。

random.randint(最小値、最大値)
でランダムな整数値が返せる。

importrandom# 36個の英数字を用意する
words='abcdefghijklmnopqrstuvwxyz0123456789'# 上記の中からランダムで返すのを32回繰り返して配列を作る
# その配列を join で連結して文字列に変換する
print(''.join([words[random.randint(0,35)]foriinrange(32)]))

lfkj6bv913np7cq8fxzjjpfjv2u8qv0q

第四問:回答

aabacdcda
この文字列の文字別集計してみよう。

# まずは集計対象の文字を用意
word='aabacdcda'# 結果を格納するための辞書を用意
result_dict={}forwinword:# 文字があれば +1 なければ1で辞書に格納する
ifwinresult_dict:result_dict[w]+=1else:result_dict[w]=1print(result_dict)

{'b': 1, 'c': 2, 'a': 4, 'd': 2}

第五問:回答

景子の夫千鳥メンタリスト
この3つの文字列のうち、1つをランダムで返す関数を作って見ましょう。

importrandom# 配列を用意する
daigo=['景子の夫','千鳥','メンタリスト']# 関数を作る
defrandom_daigo(daigo):# ランダムで整数値を返し、インデックスで上記配列の要素を返す。
returndaigo[random.randint(0,2)]# 関数の実行
print(random_daigo(daigo))

千鳥

randomライブラリには直接1つの要素をランダムで返す
choiceという関数があります。

random.choice(配列)

importrandomdaigo=['景子の夫','千鳥','メンタリスト']defrandom_daigo(daigo):returnrandom.choice(daigo)print(random_daigo(daigo))

千鳥

さて、演習はいかがだったでしょうか?
あなたのwishは達成されましたか?

プログラミングができるようになると
そのwishを叶えることができるかもしれませんね。

プログラミングは
まずは真似してコードを書くこと写経が上達の鍵になります。
書いて書いて書きまくりましょう。

できなかったところは演習を復習してみてくださいね。

まとめ

これでPythonの基礎演習も終わりです

基礎が終わったので、文法のほとんどを学習したことになります。
これでPython言語自体のコーディングを進めるのには
支障はなくなったのかなと思います。

あとは自分でコードを書いてみましょう。
コードを書く事がプログラミングの一番大事なことです。

目的を決めて最初は何か簡単なプログラムを作ってみましょう。

よく使われるコードに関してはまとめをチートシートとして作成しておきました。

こちらにリンクを貼っておきますので、是非参考にしてみてください。
https://note.com/otupy/n/n1bedb9f36e54

君がエンジニアになるまであと66日

作者の情報

乙pyのHP:
http://www.otupy.net/

Youtube:
https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw

Twitter:
https://twitter.com/otupython


Viewing all articles
Browse latest Browse all 21499

Latest Images

Trending Articles