python - Python:有时打印整个数组而不是单个单词
问题描述
对 Python 来说还是相当新的,我目前只是在业余时间做一些随机的东西来帮助我学习。目前这是我正在做的事情:
import sys
import random
import time
import pyperclip
print ('shit talk generator')
names = str(raw_input('Usernames: '))
splitNames = names.split(',')
splitNames.append(splitNames)
while True:
for x in range(1):
iqValue = random.randint(-100,10000)
randomName = random.choice(splitNames)
print ('Wow %s, That was a %s IQ Play!' % (randomName, iqValue))
clipboardCopy = 'Wow %s, That was a %s IQ Play!' % (randomName, iqValue)
pyperclip.copy(clipboardCopy)
print('waiting 2')
time.sleep(2)
基本上,正如你所收集的,只是生成废话并将其保存到我的剪贴板。现在,有时在打印输出时它会打印整个数组而不是单个单词。这是输出的一个片段:
shit talk generator
Usernames: lewis, daniel, james, john, jack, roger, fred, jones
Wow john, That was a 1073 IQ Play!
waiting 2
Wow roger, That was a 6182 IQ Play!
waiting 2
Wow jack, That was a 3330 IQ Play!
waiting 2
Wow ['lewis', ' daniel', ' james', ' john', ' jack', ' roger', ' fred', ' jones', [...]], That was a 5734 IQ Play!
waiting 2
Wow ['lewis', ' daniel', ' james', ' john', ' jack', ' roger', ' fred', ' jones', [...]], That was a 4963 IQ Play!
waiting 2
Wow fred, That was a 223 IQ Play!
waiting 2
Wow james, That was a 7995 IQ Play!
waiting 2
Wow lewis, That was a 7620 IQ Play!
waiting 2
现在由于这是断断续续的,它让我相信它将整个自身作为一个项目存储在列表中,我假设这个是错误的吗?我将如何解决这个问题并确保它只从输入中选择有效的用户名?非常感谢任何帮助/指导。
解决方案
问题正是您所说的,罪魁祸首是这里的代码:
splitNames = names.split(',')
splitNames.append(splitNames)
初始化后splitNames
,您将其附加到自身。因此,当你的函数执行时,
splitNames = ['lewis', ' daniel', ' james', ' john', ' jack', ' roger', ' fred', ' jones', ['lewis', ' daniel', ' james', ' john', ' jack', ' roger', ' fred', ' jones']]
由于您的函数从列表中选择一个随机元素,它有时会选择最后一个元素,即列表本身。只需删除该.append()
行,您的代码就会按您的意愿工作。
推荐阅读
- php - 如何通过默认使用已在数据库中设置的值来防止“未定义索引”?
- node.js - webpack 通过 node api 进行多重编译 (^4.44.2)
- python - /signup/ 处的 ValueError 必须设置给定的用户名
- node.js - 全局安装 ES Lint 但出现错误 -bash: eslint: command not found
- python - 如何获取字典列表中特定键的一组唯一值?
- android - 有没有办法在retrofitApi的@get中使用var?
- python - 尽管语法正确,但 Django 不加载静态文件并引发错误 - VS Code 是罪魁祸首吗?
- python - python中的换行符后出现意外字符
- reactjs - 无法访问属性“名称”,test[0] 未定义
- nestjs - Nest js - httpservice 添加代理