質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

332閲覧

pythonでエラーが出るものと出ないものの違いがわかりません。

shun098

総合スコア3

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2023/01/30 10:58

編集2023/01/30 12:13

前提

pythonでエラーが出るものと出ないものの違いがわかりません。
対象のエラーは、list index out of range です。

該当のソースコード

python

1primes=[] 22%primes[0]

これを実行するとlist index out of rangeのエラーが出ます。prime[0]が存在しないからだと解釈しています。

python

1def isPrime_sub(n,primes): 2 for i in range(0,len(primes)): 3 if n%primes[i]==0: 4 return False 5 return True 6isPrime_sub(2,primes)

isPrime_sub(n,primes)は、nより小さな素数の配列primeを用いて、nが素数かどうかを判定する関数です。#追記 コードを修正しました
しかしこれだとエラーがでず、結果はTrueです。同じようにprimes=[]のn%primes[0]を調べか。操作が出てくるのに、なぜでしょう。

試したこと

ifの中にあるからなのかな、、?と思っています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

melian

2023/01/30 11:05

for i in range(0,len(primes)): となっているので、if n%primes[i]==0: は一度も実行されていません。
shun098

2023/01/30 12:08

回答ありがとうございます! 確かに実行されていませんね、、、 納得しました、ありがとうございます
guest

回答1

0

ベストアンサー

primesが空の行列で、それを渡された isPrime_sub のループの方は primesの数だけ回るようになっているので、結果として1回も回らないことになります。
よって、ループの中の n%primes[i]==0: の行が評価されることはなく、エラーにもなりません。

ちなみに、このisPrime_subはコードはどんな数を入れてもTrueを返すことでしょう。

投稿2023/01/30 11:17

編集2023/01/30 12:00
TakaiY

総合スコア12765

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shun098

2023/01/30 12:12

回答ありがとうございます! すみません、6行目のprimes=[]は間違いです。修正しておきます if文が回らないから、という理由も他の方と同様で納得しました!
TakaiY

2023/01/31 00:50

6行目のprymes=[] が無いと、isPrime_sub(2,primes) の行でエラーになりますよ。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問