ニュ〜ログ

このブログは、ニュ〜ナビのライターによる日記である。

就活から復帰したので、ノックに挑んでみた。

胸板あつしです!

お久しぶりです。

前回の記事はコチラ!

newnavi.hatenablog.com

 

ようやく就職活動にピリオドを打ち、次に進むことができそうです。

ほんっっっっっっっっっとに、しんどい。

各大学に対応した、もっと使いやすい就職活動のアプリケーションでもあればいいんですけどね〜。

 

さて。

本日は、pythonの100本ノックに挑戦することにしました。

f:id:newnavi:20210507171654p:plain
千本ノック

 

最初の5本だけやってみたのですが、g-fortranしかやったことのない私には、まるで暗号でした。

それぞれ、どんな風に書いたのか載せます。もし、お時間のある方で、「こう書いた方が楽だよ!」というのがあれば、コメントで教えていただけると励みになります。

 

1. 文字列の逆順

# 文字列”stressed”の文字を逆に(末尾から先頭に向かって)並べた文字列を得よ.

a1 = "stressed"
a2 = a1[::-1]
print(a2)

>>> desserts

# 別のやり方
a1 = "stressed"
a2 = ""
for i in range(len(a1)):
    a2 = a1[i] + a2
print(a2)

>>> desserts

 

2. 「パタトクカシーー」

# 「パタトクカシーー」という文字列の1,3,5,7文字目を取り出して連結した文字列を得よ.

a1 = "パタトクカシーー"
a2 = ""

for i_a in range(len(a1)):
    if i_a%2 == 1:
        a2 = a2 + a1[i_a]
print(a2)

>>> タクシー

3. 「パトカー」+「タクシー」=「パタトクカシーー」

# 「パトカー」+「タクシー」の文字を先頭から交互に連結して文字列「パタトクカシーー」を得よ.

a1 = "パトカー"
a2 = "タクシー"
a3 = ""

for i_a in range(len(a1)):
    a3 = a3 + a1[i_a] + a2[i_a]
print(a3)

>>> パタトクカシーー

4. 円周率

# “Now I need a drink, alcoholic of course, after the heavy lectures involving quantum mechanics.”という文を単語に分解し,各単語の(アルファベットの)文字数を先頭から出現順に並べたリストを作成せよ.

a1 = "Now I need a drink, alcoholic of course, after the heavy lectures involving quantum mechanics."
a2 = []
a2 = a1.strip(",").strip(".").split() #各単語(カンマ、ピリオド抜き)のリストを作る。
for i_a in range(len(a2)):
    a2[i_a] = len(a2[i_a])
print(a2)

>>> [3, 1, 4, 1, 6, 9, 2, 7, 5, 3, 5, 8, 9, 7, 9]

5. 元素記号

# “Hi He Lied Because Boron Could Not Oxidize Fluorine. New Nations Might Also Sign Peace Security Clause. Arthur King Can.”という文を単語に分解し,1, 5, 6, 7, 8, 9, 15, 16, 19番目の単語は先頭の1文字,それ以外の単語は先頭の2文字を取り出し,取り出した文字列から単語の位置(先頭から何番目の単語か)への連想配列(辞書型もしくはマップ型)を作成せよ.

a1 = "Hi He Lied Because Boron Could Not Oxidize Fluorine. New Nations Might Also Sign Peace Security Clause. Arthur King Can."
a2 = []
a3 = [1,5,6,7,8,9,15,16,19]
a4 = {}

a2 = a1.strip(".").strip(",").split() #分解
for i_a in range(len(a2)):
    if i_a+1 in a3:
        a4[i_a+1] = a2[i_a][:1]
    else:
        a4[i_a+1] = a2[i_a][:2]
print(a4)

>>> {1: 'H', 2: 'He', 3: 'Li', 4: 'Be', 5: 'B', 6: 'C', 7: 'N', 8: 'O', 9: 'F', 10: 'Ne', 11: 'Na', 12: 'Mi', 13: 'Al', 14: 'Si', 15: 'P', 16: 'S', 17: 'Cl', 18: 'Ar', 19: 'K', 20: 'Ca'}

ああ〜、難しい〜〜〜

 

これからも、なんとかがんばります!!!

それでは〜〜

  

----------

ライター : 胸板あつし

東京の大学院生。最近までただの就活生だった。ウマ娘のアニメは8周観た。