python

Python課題―入力の配列による保持 (paizaランク D 相当)

気がついたらpaizaでランクC問題集というのが新設されたので早速手持ちのチケット4枚を費やして解いたのだがこの問題正解率が62.4%とちょっと寂しい。せっかくなので「これさえわかれば解ける」という肝心要なところを晒した。隠した部分はさすがにこれくら…

Python課題―1人の血液型 (paizaランク C 相当)

これはそんなに難しくない、というかリストが辞書に変わっただけという感じである。最近ブクマ界隈ではプログラマの勉強方法が盛んであるがpaizaが全然話題にならないのはちょっと悲C。 # coding: utf-8 s = input() n = int(input()) blood = {} for i in r…

Python課題―文字列の n 文字目と n + 1 文字目 (paizaランク D 相当)

この問題、Dランクのくせに正解率が32%ととんでもなく低いのであるが説明文がかなりわかりにくい。あと、思いもよらぬバグが残る可能性がありそれも誤答を頻発させる原因になっている。 問題文が「n + 1 文字目がない場合は何も出力しないでください。」 と…

Python課題―ユーザーの血液型のデータ処理 (paizaランク C 相当)

正直難しい。というかリストと全然勝手が違うのが参った。検索してもなかなか出てこないのでこのエントリーは割と貴重かもしれない。 # coding: utf-8 A = {} n = int(input()) for i in range(n): c,d = input().split() A[c] = d for j,k in A.items(): pr…

Python課題―アルファベット探し (paizaランク C 相当)

コードだけ見るとさらっとしているがここまで来るのにかなりてこずった。特にfor文の回し方が難しい。最初は適当な変数に数値に変換したのを代入しようとしたりしたが上手くいかないのでどんどんいじっているうちにむしろコードが短くなっていった。というか…

Python課題―アルファベットの範囲の文字の出力 (paizaランク D 相当)

正解率が55.7%とあってなるほど躓くところが多い感じの問題である。Dランクと言っているがFizzBuzzよりもよほど難しい。文字コードを段々ずらすところはC言語なら滅茶苦茶楽なんだがPythonだとこういう記述になるようだ。1回わかってしまえば次からは楽々解…

Python課題―重複の判定 (paizaランク D 相当)

for~elseなんて初めて使った。でもこれ、あまり使わない方がいいのかしら。それほど難しくない気がするんだけど正解率65.6%なのは「Dランク」だと侮ったからだろうか?確かにDランクにしては難しいか。 # coding: utf-8 s = ["HND","NRT","KIX","NGO","NGO"…

Python課題―5以上の整数の合計(paizaランク C 相当)

これは簡単。なんでこれが正解率61%なのかちょっとわからない。配列に数字を追加していくのに手間取ったのか?最後のfor文の回し方がわからない? # coding: utf-8 a = [] t = 0 s = int(input()) for i in range(s): a.append(int(input())) for j in a: if…

Python課題―指定範囲だけ大文字(paizaランク C 相当)

大文字に変換するところがs[i]=s[i].upperとしてエラーが出るので仕方なく変換しないのでそのまま大文字で表示用にしたのだが、これであっているのだろうか?いや点数こそ100点だがなんとも首をかしげながらの課題となった。 # coding: utf-8 a,b = (int(x) …

Python課題―「足すか掛けるか」

Cランクではあるがそこまで難しくない。ところで結果をトータル用の変数に一発で入れられないのだろうか?仕方なくテンポラリーの変数を使ったのだがなんだかモニョるところである。 # coding: utf-8 n = int(input()) temp = 0 t = 0 s = [''] * n #入力分…

Python課題―文字列を切り取る (paizaランク D 相当)

Dランクの割には正解率が66.8%と低いのだが、for文の設定か、最後のprint文の書き方で詰まったのだろう。コードのコメントにも書いたが、リストの変数はゼロからスタートするのでゼロが1文字目、リストの1が2文字目となるのである。なかなかプログラミングら…

Python課題―ifを使いますか?三項演算子を使いますか?

ソースコードを見ただけじゃなんのこっちゃ全然わからないので、問題はこれである。 その他セット Python3編 | レベルアップ問題集 | プログラミング学習サービス【paizaラーニング】 後半には後々役に立ちそうな演習があり、面倒だが今回は良問な感じがした…

Python課題―数字のみの出力 (paizaランク D 相当)

今回はエライ苦労して、Dランク問題なのに40分くらいかかった。 本当は要素にちゃんと数字の判定をしないと片手落ち感があるのだが、40分もかかっているのでこれではしょることにした。 ひょっとするとリストにしない方が良かったのだろうか? #数字のみの出…

Python課題―16*16の表を作ろう(解答編)

というわけで解答編。もちろん他にも答はある。ループの書き方まではほぼ誰でも書けると思うところで、print文の書き方に工夫がいるのであった。 # coding: utf-8 for i in range(1,17): for j in range(1,17): print('{0:>3}'.format(i * j),end=" ") print…

Python課題―16*16の表を作ろう(出題編)

へっぽこな自身が課題を出題などおこがましいにも程があるが、Webを見ても適切な難易度の問題がなかなかないので出題することにした。 上記の表を作成せよ。ただし、print文を16行並べてこの通り書いて出力は不可。 プログラマーでFizzBuzzが書けない人がい…

paizaスキルチェック:D048:台風の間隔の感想

ヒントすら不可 ということなので感想であるが、非常に簡単である。Fizz Buzzが書ける人なら絶対困らないと太鼓判を押せるレベルだ。自身はちゃんと合格した。

Python課題―読み込んだ複数行のカンマ区切りデータを出力しよう」

あっているのかこの書き方??いや、あってはいるんだが凄まじく出題の意図と違う気がする。 # coding: utf-8 # 複数行のカンマ区切りデータを出力する import sys list=[] for line in sys.stdin.readlines(): # ここに、文字列を分割して、出力するコード…

Python課題―文章の単語数を数える

簡単な問題ほど調べても調べても出てこないという典型。ヒントも何もないのでこういうカタチにしたがこれが出題者の意図なのかはわからない。 ぶっちゃけprint(20)でも良いんじゃないかと思うほどである。(ダメだろ) str = "One cold rainy day when my fa…

Python課題―あいだの整数

「数値を2つ入力し、その区間の整数を全て表示してください。」 2つ入力できればあとはfor文で回すだけだがrangeに+1するのをお忘れなくという問題である。このくらいの難易度の問題をたくさん解きたいのだがなぜかWeb上には全然ない。本当にない。困ったも…

Python課題―西暦XXXX年は昭和YY年です

ちょこちょこCランク問題も解いている自身なのでDランクは何をイマサラ感がなきにしもあらずだがこの問題、一瞬「んん?」となったので備忘録を兼ねて紹介する。ポイントはfor文のrangeの書き方である。これさえわかれば解けたも同然なのであるが、これに初…

Python課題―文字列の出力(正解率67.4%)

Dランクと思えないほど正解率が低いが、これはやはりPythonのfor文記述が意味不明すぎるからであろう。コードを見てもらえればわかるが最後のfor文はrangeがいらないのである。これは「あってもなくてもOK」にして欲しいところである。while文で書いた方が簡…

Python課題―お一人様一点限り(正解率61.4%)

以前リストのfor問題で答を見ないとわからないという屈辱を味わったがそれは文法仕様の問題であった自身の思考がヘッポコというわけではない。ヘッポコでないことを証明するためにこの問題である。2人目以降から過去客全員と照らし合わせて1回でも引っかかっ…

Python課題―配列(リスト)データの足し合わせ(正解率80.8%)

見栄を張っても仕方ないので書くが、この問題解けなかった。幸い解答があるのでさっさと見たのだが正直これはわからない。それまではif文の判定の所をa[i]とずっと書いていたからである。 実際正解率がDランクの割に低いので解けなかった人はほぼ全員がa[i]…

Python課題―奇数大好き山田さん(正解率84.9%)

処理内容よりも文法の方が問題という課題である。リストに放り込んだあとのfor文の処理はさほど困らないはずである。 #【競技7】奇数大好き山田さん (paizaランク C 相当) # coding: utf-8 n = int(input()) a = [int(input()) for i in range(n)] a.sort() …

Python課題―Fizz Buzz (正解率89.0%)

今回特に何のサイトも参考しないで書いたが、合格をもらったあとに検索すると参考になるソースは見つけられなかった。多くのサイトはなぜか100までの固定回数でFizzBuzzを回していたが一番ひどいのは100行print文を書いているFizzBuzzであった。プログラミン…

Python課題―閏年の判定(正解率67.0%)

この問題に対するbehaviorはどういうのがふさわしいかちょっと考えたのだが、「有名なプログラムだから他言語の答を見て、それをpythonで見やすく書く」のが正しいbehaviorであろうと考えた。というわけでC言語の記述を見ながらpythonにした。もっと短くも出…

Python課題―N行のデータの入力(正解率80.8%)

配列の問題だがさすがにここまで来たら自身も慣れた。さっと書いて正解で終了。 #N行のデータの入力 (paizaランク D 相当) # coding: utf-8 n = int(input()) moji = [] for i in range(n): moji.append(input()) for j in range(n): print(moji[j])

Python課題―カンマ区切りのN個のデータの入力 (正解率95.6%)

実はこの問題、1回解けなくて挫折したのであるが書き方さえわかればどうってことない問題である。散々書いているが簡単なプログラムほどWeb上に資料がない(見つけにくい)のは考え物である。しかしこれ正解率95.6%って本当か?最初にこの問題やろうとしたら…

Python課題―明日天気にな〜れ!

解いた問題は全部公開する予定だったのだが、あまりにも無意味な問題(入力して表示するだけ)があったのでヌルーが発生している。 でこの問題、配列の知識を問うだけなのに無駄に作業が多い。あまり良問という感じがしないが配列の練習と言うことで。 #【競…

Python課題―匿名希望さん (正解率97.6%)

実際に使うシーンは思いつかないが、これは良問だと思う。正答率がかなり高いが、覚えがある人が挑んでいるんだろう。 #【競技6】匿名希望さん (paizaランク D 相当) # coding: utf-8 s1,s2=input().split()#値を2つ入力 print(s1[0]+"."+s2[0]+".")