実現したいこと
ここに実現したいことを箇条書きで書いてください。
python3
AとBを繰り返して表示したい!
前提
ここに質問の内容を詳しく書いてください。
プログラミング言語はpython3です。
問題を解いていてわからない部分があったので質問させていただきました。
31日ある月があるとします。その月にバンドAとバンドBがライブを数回します。
どちらも全て行くのですが、数回被ってしまう日があります。その日は交互にAとBに行くことにしました。何日目にどちらのバンドに行くか、表示してください。
という問題があります。
標準入力で下記のものを読み取ります。
3(Aのバンドに行く日の回数)
1
4
5
4(Bのバンドに行く日の回数)
1
5
18
22
↑この場合、Aに行く日は4日でBに行く日は18日,22日で
1日と5日は被っているので、1日はAのバンドに、5日はBのバンドに行く。
という感じです!
31日まで縦に表示し、Aのバンドに行く日は「A」、Bのバンドに行く日は「B」と表示し、被った日はAとBを交互に表示します。どちらにも行かない日はXと表示します。
発生している問題・エラーメッセージ
31日までfor文で縦に表示して、AとBのバンドに行く日を読み取りA,Bと表示するところまでは行けたのですが、AとBを交互に表示するプログラミングがfor文を使ってどのようにすればいいかわかりません。
該当のソースコード
python3
1 2count = int(input())#Aのバンドに行く日を読み取る 3for i in range(count): 4 line = input().rstrip() 5 6count2 = int(input())#Bのバンドに行く日を読み取る 7for m in range(count2): 8 line2 = input().rstrip() 9 10for n in range(31):#31日 11 if i==n: 12 print("A")#Aのバンドに行く日 13 elif m==n: 14 print("B")#Bのバンドに行く日 15 elif i==m:#もしAとBが同じだったら、、、 16 #ここの部分がわかりません。 17 else: 18 print("x")#どちらも行かない日
試したこと
for文、リスト、if文など自分が知っている知識を使って何度も挑戦してみました。
リストにAとBを入れて、リストから表示する際に、縦にA、Bと表示するのではなく、一回のみで表示させる(AだったらAのみ。次になったら続きのBのみ)方法はどうかな、と考えましたがうまく自分でプログラミングにすることができませんでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
2023/11/16 01:51