python - 这段简单的代码在第二次循环时会出错
问题描述
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'
我在这里想念什么?
解决方案
您正在string
覆盖import string
库的循环内设置变量。因此,在第二轮中,您不再需要使用字符串库,string.letters
而是使用实际的字符串。尝试使用不同的变量名。
推荐阅读
- ssl - 读取 SSL PEM 生成的文件以获取证书到期日期
- android - Android:将应用程序与文件扩展名相关联会导致新副本开始
- php - 如何使 CodeIgniter 4 会话在同一控制器的其他方法中可用
- python - 如何在 python 中使用 try 打印每个错误
- servlets - Servlet forward() 从 POST 到 GET
- sql - PostgreSQL 选择 r.* by MIN() 并在两列上进行分组
- javascript - 在灯箱中打开视频文件的 PHP 脚本
- python - Tensoflow 错误:无法创建 cudnn 句柄:CUDNN_STATUS_NOT_INITIALIZED
- javascript - React useState - 状态不更新
- node.js - 即使在提供了第二个空数组参数之后,是否有任何方法可以停止 useEffect 无限循环?