python

Python課題―forループ (paizaランク C 相当)

わかる人には一瞬でわかる問題なんだろうが自身は多分に漏れず苦労した。「リストにリストを入れる」というのがわかれば近道になるのだが、その後のmap関数を使った入れ子の書き方が実に複雑怪奇である。少なくてもこの書き方はWeb上には見当たらなかった。…

Python課題―数字の文字列操作(時刻2) (paizaランク D 相当)

問題文だけを見て「ほーん。簡単簡単」となめてかかるとエライ目にあう問題である。実際正解率が50%ない時点で警戒しなければならない問題である。30を足すためにわざわざint型にするわけであるが、最後9時以下と9分以下の場合はゼロ表示させなければならず…

Python課題―数字の文字列操作(時刻1) (paizaランク D 相当)

自身はめちゃくちゃあっさり解けたのだが正解率がたったの52%しかなくて、恐らく解けなかった人は正直に変数をsだけでずっとチマチマいじくっていたのではないだろうか?それでも入力は04:58みたいにしてくれるからさほど問題はなさそうであるが、とにかく難…

Python課題―降順ソート (paizaランク D 相当)

全然なんてことはなくsortしてrecerseするだけであった。 # coding: utf-8 n = int(input()) a = [] for i in range(n): a.append(int(input())) a.sort() a.reverse() for j in a: print(j)

Python課題―3の倍数のカウント (paizaランク D 相当)

既存のエントリーで十分に回答を出せるがかなり散らばっている感があるのでエントリーとして書き起こす。恐らくもっと短く書く方法があると思うが他人がプログラムを改良するとしたらこのくらい平易な書き方をした方が良いだろうと考える。 # coding: utf-8 …

Python課題―年齢+1 (paizaランク C 相当)

この問題タイトルが「標準入出力」と全然ワケがわからないので勝手に改題した。名前と年齢のリストの内、年齢だけを全部+1にしたいという問題なのだが、もちろん年齢がstrなのでintにする必要があるのだが、年齢だけをintにする方法がわからなくて見事にドツ…

Python課題―半角スペース区切りでの出力 (paizaランク D 相当)

自身の解答、おそらく模範解答からかけ離れたものになっている自覚はあるのだが頭を使った回答である。見ればわかるのだが一応解説すると最後だけ改行して、それ以外は半角スペースを入れるのだからprint文の中に既に半角スペースを入れている。で、最後は通…

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]…