python / python/cpython

IDLE: Handle repr(big_integer) value error

オープン
#135,498 コメント 1 件 リアクション 0 件 担当者 1 名 GitHub で見る

@terryjreedy がすでに取り組んでいます。

2025年6月14日 から。

pending topic-IDLE type-feature
主要言語
Python
スター
77.2k
フォーク
35.9k
PR マージ指標
PR 指標を取得中

説明

(Spinoff of #135487.) In Shell

>>> 1<<15000
Traceback (most recent call last):
  File "<pyshell#38>", line 1, in <module>
    1<<15000
ValueError: Exceeds the limit (4300 digits) for integer string conversion; use sys.set_int_max_str_digits() to increase the limit

The error also occurs in Debugger. For debugger, I have already thought replacing reprlib.repr since debugger displays only about the first 40 chars of the repr string. First possibility: f"int(10**{log10(n)})". It returns a legal expression, but large-enough exponents overflow. Second: f"10**round({log10(n)}) # Approximately. This will evaluate to an order of magnitude approximation, which is often better than 100s or 1000s of digits. In Shell, the error message could follow as a comment. In debugger, I would like to add hovertips with more information.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。