Open
Description
Description
a redundant "else:" will be printed
How to Reproduce
import time
L = ["a", "s"]
def thread():
for c in L:
if c == 'a':
print(c)
break
time.sleep(0.5)
Output Given
# uncompyle6 version 3.9.1.dev0
# Python bytecode version base 3.8.0 (3413)
# Decompiled from: Python 3.8.10 (tags/v3.8.10:3d8993a, May 3 2021, 11:48:03) [MSC v.1928 64 bit (AMD64)]
# Embedded file name: simple.py
# Compiled at: 2024-03-05 23:58:49
# Size of source mod 2**32: 145 bytes
import time
L = ["a", "s"]
def thread():
for c in L:
if c == "a":
print(c)
break
else:
time.sleep(0.5)
Expected behavior
def thread():
for c in L:
if c == "a":
print(c)
break
+ time.sleep(0.5)
- else:
- time.sleep(0.5)
Environment
- Uncompyle6 version: output from
uncompyle6 --version
uncompyle6 3.9.1.dev0 - xdis version: output from
pydisasm --version
pydisasm, version 6.1.0.dev0 - Python version for the version of Python the byte-compiled the file:
python -c "import sys; print(sys.version)"
wherepython
is the correct CPython or PyPy binary.
3.8.10 (tags/v3.8.10:3d8993a, May 3 2021, 11:48:03) [MSC v.1928 64 bit (AMD64)] - OS and Version: Windows 11 (23H2)