首页 > 解决方案 > 这段简单的代码在第二次循环时会出错

问题描述

import random
import string



for x in range(0,15):
    print "something"
    string= str(random.choice(string.letters)+str(random.randint(100,10000))+random.choice(string.letters)+str(random.randint(0,100)))
    print  string

为什么这段代码在 for 循环中第二次运行时会抛出错误?我不知道它是如何第一次完美运行并抛出此错误:

东西 J6554r15 东西

回溯(最后一次调用):文件“C:\Users\test\Desktop\soooo.py”,第 8 行,在 string=str(random.choice(string.letters)+str(random.randint(100,10000) ))+ran dom.choice(string.letters)+str(random.randint(0,100))) AttributeError: 'str' object has no attribute 'letters'

我在这里想念什么?

标签: pythonstringrandom

解决方案


您正在string覆盖import string库的循环内设置变量。因此,在第二轮中,您不再需要使用字符串库,string.letters而是使用实际的字符串。尝试使用不同的变量名。


推荐阅读