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

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

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

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

1回答

966閲覧

EOFErrorについて

pussy_pussy

総合スコア22

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2020/07/16 03:11

編集2020/07/16 06:34

前提・実現したいこと

2~1000個の標準入力ができるようなプログラムにしたい
また可能であればコードをよりすっきりさせたい
これは完全数かほぼ完全数かそれ以外かを判定するプログラムです

発生している問題・エラーメッセージ

PaizaのサイトではEOFErrorとなる VScodeでは標準入力後にEnterをいくら押しても実行が完了しない(1行目のrangeを(2,10)などにしても同様

該当のソースコード

Python

1mylist =[input() for i in range(2,1000)] 2 3 4class Complete(object): 5 def __init__(self): 6 self.S=0 7 8 def cal(self,x): 9 for i in range(1,int(x-1)): 10 if x % i == 0: 11 self.S += i 12 13 def check(self,y): 14 if 1<y<=50: 15 if self.S == y: 16 print("perfect") 17 18 elif abs(y-self.S)== 1: 19 print("nearly") 20 21 else: 22 print("neither") 23 24 else: 25 print() 26 27complete = Complete() 28 29for i in mylist: 30 complete.cal(i) 31 complete.check(i)

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

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

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

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

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

can110

2020/07/16 03:16

そのコードを実行している環境(OS、シェルなど)の詳細を記載ください。 オンラインの実行環境であれば、そのURLなどを記載ください。
pussy_pussy

2020/07/16 04:07

オンラインです。 Paizaのプログラミングスキルチェックというサイトです
can110

2020/07/16 04:16

エラーが再現しません。 環境異存の問題だと思われ、質問者も含め第三者には対処しようもないので サイト管理者に問い合わせるべきかと思います。
can110

2020/07/16 05:14

修正された質問コードにおいて、EOFErrorは発生しません。 質問文全体を見直してください。
guest

回答1

0

mylist =[input() for i in range(2,1000)]

998個の入力をしないとエラーになりますが、
それだけ入力したんでしょうか

投稿2020/07/16 03:20

y_waiwai

総合スコア88042

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

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

pussy_pussy

2020/07/16 04:06

コードを間違えてしまいました。 2~1000行の入力が可能であるということにしたいのですが実装法がわかりません
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問