python的运行调试问题

import random
zidian={}
chang=len(zidian)
while chang<=1000:
key=random.randint(0,99)
values=chr(random.randint(65,90))
if key in zidian:
continue
else:
zidian[key]=values
chang+=1
print(zidian)

运行很久没结果,断点调试报错
pydev debugger: process 10056 is connecting
图片说明
没调试运行:

图片说明

2个回答

你这个循环永远也不会结束

0-99之间的随机int数最高是100个

你将这个数作为字典的key,也就是说字典的长度最高100

你想让长度小于1000就执行,反过来说就是要大于1000才停止,那你这个循环只会一直在运行。

A_B_C_zzy
A_B_C_zzy 哦,谢谢
7 个月之前 回复

测试测试 没问题啊,可能你的缩进有问题吧

import random
zidian={}
chang=len(zidian)
while chang<=1000:
    key=random.randint(0,99)
    values=chr(random.randint(65,90))
    if key in zidian:
        continue
    else:
        zidian[key]=values
        chang+=1
    print(zidian)

YJB666
虛擬時間SOS 回复A_B_C_zzy: 死循环了
7 个月之前 回复
A_B_C_zzy
A_B_C_zzy 我加了张图,运行的时候没结果,但是把while改小一点(我试过chang<=10)就出来了,是什么原因,机制的问题吗?
7 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐