10,000個の中から7の倍数が何個あるかを数えてくれるようなプログラムを作りたいのですが、
個数をうまく表示することができません。
コード:
a = list (range(1:10001))
for i in a :
if i%7 ==0:
print(i)
このプログラムだと該当する数字が縦に表示されてしまいます。
個数を表示したいのですが行き詰っています。
教えてください。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答5件
0
ベストアンサー
rangeをうまく使うことで簡単に求めることができます。
7から始まって、10000までの、間隔7のrangeオブジェクト の長さが、求めるものです。
Python
1print(len(range(7, 10001, 7)))
投稿2020/10/31 16:14
総合スコア3266
0
ans = sum(map(lambda x: x%7 == 0), arr)
投稿2020/10/31 15:25
退会済みユーザー
総合スコア0
0
このプログラムだと該当する数字が縦に表示されてしまいます。
for文によるprint()は性質上、都度改行された状態で縦に列挙・出力される仕組みになっています。
その為1度の出力で横並びに出力したいという事であればリストに追加してしまう
または、カウントする為の変数を用意して変数に都度+1してあげるなどが良いでしょう。
sample
1a = list (range(1,10001)) 2b = [] 3cnt = 0 4for i in a : 5 if i % 7 == 0: 6 b.append(i) 7 cnt += 1 8 9print(len(b)) 10print(cnt)
またわざわざfor文を使わずとも
toast-uzさんが回答されているrange関数の活用が一番スマートで素晴らしい出力方法だと思います。
投稿2020/11/01 03:59
編集2020/11/01 09:20総合スコア1438
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/01 04:17 編集
2020/11/01 04:10 編集
2020/11/01 04:11
2020/11/01 04:16
2020/11/01 04:17
2020/11/01 04:23
2020/11/01 04:27
2020/11/01 04:36
2020/11/01 04:44 編集
2020/11/01 05:07
2020/11/01 05:52
2020/11/01 06:06 編集
2020/11/01 07:32 編集
2020/11/01 08:59 編集
2020/11/02 07:02
0
こんな感じのことでしょうか。
python
1a = range(1,10001) 2c = 0 3for i in a : 4 if i%7 ==0: 5 c += 1 6print(c)
投稿2020/10/31 15:20
総合スコア12
0
p.py
pythpn3
1import random 2 3data = range(1, 100) 4count = 0 5for x in data: 6 if x % 7 == 0: 7 count +=1 8print(count) 9 10data = [random.randint(0, 7) for _x in range(0, 10)] 11print(data) 12count = 0 13for x in data: 14 if x % 7 == 0: 15 count +=1 16print(count) 17 18print(list(filter(lambda x: x % 7 == 0, data))) 19print(len(list(filter(lambda x: x % 7 == 0, data))))
他にもいろりおな方法が可能です。
以下のページなどを参照してみてください、
参考情報
- PythonのCounterでリストの各要素の出現個数をカウント
投稿2020/11/01 22:37
総合スコア22324
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/02 07:04
2020/11/02 09:20