我有一个python的dict,用于从dict中获取一个随机值。
words = {0:{"wake up": "aaaa"},
1:{"look after": "bbbb"},
2:{"turn on": "cccc"}
}
我想从字典中提取第二个字典(数字键的值)
(k, v) = words[random.randint(0, 22)]
但错误是这样的
ValueError: need more than 1 value to unpack
因此,我们有一个学校项目来制作一个程序,询问用户是从52张牌中随机挑选一张卡片,还是模拟掷硬币的正面或反面。我有一个测试版工作,但我正在研究如何使程序更有效率。基本上,程序将元组‘卡片’和‘硬币’设置为所有可能的类型,因此对于硬币,正面和反面,和卡片,52种不同的卡片。
程序的以下部分将变量“选择”设置为卡片或硬币。
while choice!='card' and choice!='coin':
choice=input("Pick a card or toss a coin (card/coin)?: ")
我正在写一个基本的uno类型的纸牌游戏,希望能够(同时为玩家制作7张牌)检查值是否已经在玩家的牌组中(我使用随机的)。我得到了一个不可阻挡的字典错误,还有一些其他问题是关于相同的错误,但代码的不同部分。不管怎样,这是我的代码。
def CardGame():
nm=8
clist=["Red","Blue","Green","Yellow"]
nlist=[]
for i in range(0,10):
nlist.append(i)
pd={}
deck={"R
我在文件elements.py中定义了一些元素
def get_random_element():
first = {
a : 1,
b : 2
}
second = {
a : 2,
b : 3,
c : 4,
d : 6,
....
}
...
return [ first, second, ... ]
在主要python文件中,我从elements.py中选择随机元素。
from resources.elements import get_random_elements
...
element = random.choice(get_random_elements())
我正在做一个程序,创建一组卡片,然后打印它们,到目前为止,这是很好的工作。然而,我一直无法找到如何存储每一张个人卡的方式,一套牌,或个别卡,可以比较到另一套。
我用来“画”卡片的功能是:
def TableHand():
print("Table Hand:")
for i in range(0,5):
print(RandomCardDraw(), "of", RandomHouseDraw())
函数"RandomCardDraw“和"RandomHouseDraw”都是随机数和随机数。
我想排序最后打印结果,
我需要以最快的方式从列表中创建一个Python元组,但需要进行中间计算。为了更清楚,我放了一个代码片段:
a=[1,2,3,4]
b=tuple([id(x) for x in a])
这就是我现在所拥有的。还有比这更好的东西吗?这段代码创建了一个列表,然后将其转换为元组,有没有一种方法可以直接创建元组呢?
谢谢!
按照我尝试的建议进行编辑
b=tuple(id(x) for x in a)
然而,它似乎比以前更慢了。测试脚本:
import time
a=[1,2,3,4]
t1=time.time()
for i in range(1000000):
b=tuple([id(x
我尝试从一个随机行函数中获取行号,该函数从.txt文件中读取随机行。这是随机行函数: import random
def randomline(self, file1):
with open(file1) as f:
lines = f.readlines()
regel = random.choice(lines)
return regel 我想知道如何才能获得行号(我的意思是第6行,例如.txt中的第6行将返回6,而不是该行上的单词)。
我正在创建一个游戏,我想打印出从最高到最低的平均用户分数,这是我目前为止的代码
player_scores = {}
for line in reversed(open("playerscores.txt").readlines()):
name, score = line.rstrip('\n').split(' / ')
score = int(score)
if name in player_scores and len(player_scores[name]) < 3:
player_scor
我正在从两个元组随机创建一个元组列表,如下所示:
tuple1 = ('green','yellow','blue','orange','indigo','violet')
tuple2 = ('tree',2,'horse',4,6,1,'banana')
mylist = [(t1,t2) for item1 in tuple1 for item2 in tuple2]
当然,这给了我这样的感觉:
[('green','t
标题有点模糊,但我想不出如何在这么短的篇幅内恰当地描述我的问题。
我有一个Python (3.x)脚本,它可以跟踪用户为自己设置的提醒。
提醒器的数据保存在字典条目中,然后存储在元组中(因为PyMySQL以元组的形式从数据库中提取数据)。
当需要删除提醒时,您需要创建一个没有字典的新元组,因为元组是不可变的。这意味着您使用for循环来遍历字典,并且只导入与已删除的字典不匹配的字典。
这就是我的问题所在。我会把代码片段放在下面。
global tReminders
tReminders2 = ()
for dic in tReminders:
if user_name != dic.ge
我正在尝试创建一个dict()独立的随机键和作为类对象或其他什么的值。
问题是,当我在字典中循环使用IN时,当我真正想要的是对字典项的引用时,就给出了关键名称。
让我在代码中解释:
a = dict()
a['trees'] = dict()
a['trees']['oak'] = 453
a['trees']['pine'] = 12
a['trees']['chestnut'] = 65
for b in a['trees']:
print b
产出如下
我对编程世界很陌生,我开始学习python。
我想做一个简单的小测验应用程序,但我在一开始就被困住了。我想不出一种方法来打印一个随机的问题,并检查答案是否正确。
我编写了这段代码,有时可以工作,但有时会出错。有人能向我解释一下这个错误是什么吗?我应该怎么做?
import random
def topic_ch():
print ("hello you have 3 topics chose your topic by preesing the topic number \n 1-random asking \n 2- quizz")
topc = input
我正在尝试为一个表单创建一个自定义验证码字段,它似乎工作得很好,除了这样一个事实:当代码应该选择一个随机验证码返回给最终用户以供他们解决时,它返回一个ValueError: too many values to unpack (expected 2)。我认为这是因为列表没有被随机化,而python选择了整个列表作为用户的验证码。如何解决此问题?
class CaptchaField(IntegerField):
widget = CaptchaInput
error_msgs = { 'incorrect': _('Captcha incorrect-
总的来说,我对python和编程非常陌生,我正在尝试创建一些简单的程序。我已经决定建立一个小的闪存卡程序来帮助我学习русский,并使用了一本字典,其中以英语定义为关键,русский等效为值。这个程序正在运行,但我很难弄清楚我如何才能随机选择被调用的单词。我试过random.choice(词汇表),但收效甚微。我还尝试将字典键/值对转换为列表,但随后很难使用我迄今为止使用的格式来调用它们。
是否有一种方法可以使用此脚本上的变体随机化调用的密钥?此外,对于这样的程序,不同的对象类型会更有用吗?谢谢
import random
vocabulary = {
"to study
我想从浮动类型的可能值列表中选择:
values = [400e-9,435e-9,498e-9]
ipywidgets模块提供了Select和下拉小部件,它们要么接受字符串列表,要么接受字典。在后一种情况下,当选择相应的键时,将显示这些键并使用这些值。见。
# Required imports for examples below
import ipywidgets as widgets
from IPython.display import display
实际上,直接提供我的值列表会引发一个错误,因为这些值是浮动的,而不是字符串。
# This will raise a TraitErr
我的代码应该打印一个包含输入字母(s)的字典,并在一定长度(s长度)内为每个字符分配一个随机数。当它试图添加一个已经在字符串中的字母时,它会跳过它,但它不应该跳过它。
我的代码:
import random as r
def strhash(s):
x = 0
y = 0
z = 0
ind = {
}
ra = 0
while z != len(s):
ra = r.randint(0, len(s))
x += 1
y = x-1
ind[s[y:x]] = ra
z += 1
return ind
print(
我必须把一项测验编码为家庭作业。最后一步涉及到我随机的询问问题的顺序。
我不知道如何做到这一点,因为我甚至不能100%地确定我的现有代码是如何工作的--是从CSV文件本身还是从list/dict (它是列表还是字典)中选择它。
score=0
questionno=0
def parse_csv(file_name: str) -> dict:
retval = {}
with open(file_name) as f:
for line in f:
data = line.strip().split(',')