我玩在线扑克游戏,并且我担心在经过许多观察太多非随机分布之后,在看起来像我之后发给玩家的初始牌并不是随机的.我试图拿出200-1000手牌并将其与模拟进行比较以比较分布并查看它是否确实是随机的.如果是,我希望统一分布.无论如何,我很难搞清楚如何用每张牌存放两张牌的1000张特卖.下面是我的代码,但每个输出打印出相同的"2C和KC",1000次.替换需要等于假,因为无法处理相同的卡.我很感激任何帮助解决这个模拟,以及任何人可能有关于这个实验的建议.提前致谢!
cardDeck <- c("AH", "1H", "2H", "3H", "4H", "5H", "6H", "7H", "8H", "9H", "10H", "JH", "QH", "KH",
"AS", "1S", "2S", "3S", "4S", "5S", "6S", "7S", "8S", "9S", "10S", "JS", "QS", "KS",
"AC", "1C", "2C", "3C", "4C", "5C", "6C", "7C", "8C", "9C", "10C", "JC", "QC", "KC",
"AD", "1D", "2D", "3D", "4D", "5D", "6D", "7D", "8D", "9D", "10D", "JD", "QD", "KD")
deal <- function(cardDeck) {
cardOne <- sample(cardDeck, 1, replace = FALSE)
cardTwo <- sample(cardDeck, 1, replace = FALSE)
handDealt <- paste(cardOne, …Run Code Online (Sandbox Code Playgroud) 我在codecademy项目中的指示是
定义一个名为purify的函数,它接收一个数字列表,删除列表中的所有奇数,然后返回结果.例如,purify([1,2,3])应该返回[2].不要直接修改您输入的列表; 相反,返回仅包含偶数的新列表.
我提出的代码是:
def purify(numbers):
pure = numbers
for num in pure:
if num % 2 != 0:
pure = pure.remove(num)
return pure
Run Code Online (Sandbox Code Playgroud)
错误是:
哎呀,再试一次.您的函数在[1]上作为输入崩溃,因为您的函数抛出"'NoneType'对象不可迭代"错误.
正如我已经理解它,这意味着我的代码中的某些内容将被返回为"无".或者那里没有数据.我似乎无法找到这个简短的代码有什么问题,除非它在我的if语句中.提前致谢.
所以我在代码中进行了编辑以删除"pure = pure.remove(num)"并解决了无问题.但是,当运行代码时,它仍然无法输入[4,5,5,4]并返回[4,5,4].
新守则:
def purify(numbers):
pure = numbers
for num in pure:
if num % 2 != 0:
pure.remove(num)
return pure
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用传递名为"text"的参数的函数从字符串中删除所有元音.我不确定这是否是最有效的编码方式,但这是我能想到的.我不知道如何告诉函数,以检查是否"文本"有任何从"元音"列表中的字符,如果是这样,将其删除.我认为在.replace()函数中用空格替换它会做到这一点,但显然不是.该代码应该删除低和大写元音,所以我不确定是否将它们全部小写甚至可以接受.提前致谢.
def anti_vowel(text): #Function Definition
vowels = ['a','e','i','o','u'] #Letters to filter out
text = text.lower() #Convert string to lower case
for char in range(0,len(text)):
if char == vowels[0,4]:
text = text.replace(char,"")
else:
return text
Run Code Online (Sandbox Code Playgroud)