実行成功 A問題

 改めて、原因究明をいたしまして、無事、コードがやっとうまくいきました。

結局理由はよくわかんなかったんで、多分些細なミスなのですが、エラー読んで対処出来たので良かったかなと思います。

エラー要因は出力、入力が指示通りになされてなかったのが最大、他はありがちなものでした。初歩的なミスでした。

ということで、A問題を全て載せておきます。

A - Welcome to AtCoder

 

#整数を入力
a = int(input())
#スペース区切りの整数を入力
b,c = map(int, input().split())
#文字列の入力
s = input()
#a+b+c,sの出力
print("{} {}".format(a+b+c, s))

 

ABC086A - Productv
(パターンA)%を使う場合
 
#ABC086A - Productv
#スペース区切りの整数a,bを入力
#偶奇判定 偶数Even 奇数Odd
a,b = map(int,input().split())
if (a*b)%2==0:
    print("Even")
else:
    print("Odd")
   

 
(パターンB)  &を使う場合

 a,b = map(int,input().split())
c = "Even"
d = "Odd"
if a&b&1 == 0:
    print(c)
else:
    print(d)

 

参考:

AtCoder日記(チュートリアル) - Qiita

https://www.headboost.jp/python-operators/

 反省

・ 多分&への理解が足りないし、エスケープシーケンスを活用しきれてない感すごいです。

 

 

ABC081A - Placing Marbles
print(input().count("1"))
 
A問題は以上です。
大分感覚がつかめました、頑張ります。
 

若干、Atcoderとの対応で問題があって、キョウプロがうまくいってないんですが、Jupiter Notebookでのrun自体は通ったので、コードだけ乗っけます。

後、最初の記事でRUNのことコンパイルって言ったかもです。ごめんなさい。

 

今回は、結論からいうと、まぁほぼほぼ自分で出来ました。良かったです。

今回使用したのは、『ABC086A - Product』を利用した問題です。

 

簡単に言うと、偶数・奇数を判定するプログラムですね。

問題見た瞬間、if文と%利用するってのはわかってたんですが、やっぱり=と==の区別とか、一回目実行失敗して、Pythonのif文の書き方とか、細かい差異忘れちゃってたので反省です。
 
【a,bの積を判定し、偶数はEven,奇数はOddを表示する】
a = int(input())
b = int(input())
num = a * b
if num%2 == 0:
    print('Even')
else:
    print('Odd')
 
【復習】
・Python3 のif文構造(今回は、条件一致文)
==の意味は、「等しい」という前提をしっかり認識しなおす。
 
条件一致if文の公式

num = 1

if num == 1:
print('一致')
else:
print('不一致')

 
 

競プロ 1日目

どうもプログラミングの実力が足りないなぁ、でも達成感ないと続かないし。

ということで、競技プログラミングをブログとして日記がてら、復習しつつ記録していくことにしました。

サイトはAtcoderという日本語のサイトです。

ブログははてな以外で良いけど、と思いましたが、HTMLは使用できるそうですし、それをうだうだ言ってて進まなければ本末転倒なので、とりあえずこれを使います。

 

純粋な閲覧者様に向けて言うと、プログラミングは完全初心者です。

学校やめれる環境に産まれてる人間でもないので、純粋に千里の道も一歩から、という進み方のが良いかなと思っています。

今回は初回なので、ブログ概要も書いてますが、基本内容重視です。

やったときに復習を書くので、連投もあり得ます。ご了承ください。

 

(言語:Python3 環境:Jupiter Notebook)

A - Welcome to AtCoderにチャレンジしました。

 結果、コンパイル時点でコンパイルエラーです。まともにコードを書けていません。

これくらいは暗記しないと、と反省しました。

 

≪出来ていたこと≫

・input()とint()は理解してるかはさておき、かけていました。

・map関数を利用する。map関数の形がmap(■■ ■■■)の形式であるのは、わかっていました。

・print('')に関しては、今回用法を完全にわかっていたと思います。

・formatを使うのはわかっていましたが、使い方を忘れていました。

 

≪出来ていなかったこと≫

・全体的に「何となくこれを使う」と理解してたのが、最大のエラー要因と思います。

・int型、string型などの使い分けがうろ覚えで、input()への理解が不足しています。

・map(),split()は根本的に理解してないです。

・formatは思い出し直す必要があるほど忘れてます。

 

 以上の理由から、①input、②値型、③map、④split、⑤formatの順で確認していきます。

①input 標準入力⇔print(標準出力)

 inputは任意で入力されたものを表示、printは固定されたものを表示。

input()は入力された値を「文字列」として扱う。

故に、inputに入力された値を、数値として扱ってほしい場合は、困る。

なので、この場合float型やint型を使用する。

 

*参照 https://www.sejuku.net/blog/23823

 

 ②型の変換 の話に移ります。

主流の型

【数値型】

・int型(整数型)

・Float型(浮動小数点型)

数値をint()で囲うことで、型の変換は完了します。

input()されたものをint()で変換する必要があります。

 

③map関数

map関数はmap(function,リスト)の形式でかく。

function部分に一定のルールを記述することで、そのルール通りにリストの中の値をすべて変更してくれる。

おまけのfilter関数。同様の形式filter(function,リスト)で表す。

mapとの違いはリスト全部でなく、条件にあてはまったもののみ。

参照

https://rara-world.com/python-map-filter/

諸々気になる部分は残るものの、文章が長くなるので、次の話。

④split関数

文字列名.split(“ 区切り文字 ”) とすることで、区切り文字で区切られたリストを得ることができる。

*区切り文字がスペースや、改行、タブであるときは、特に区切り文字を指定しなくても、区切ることができる。

https://qiita.com/Morio/items/38701038ad098dd5dc3d

⑤format関数

'{指定したい書式の型}'format(変数)で表す。

複数の場合、区切りは{}{}.format(,)になる。

 

復習はここで終わりです。

コード書けるようになるまで試してみます。