【问题标题】:Random Numbers; Converting list to string随机数;将列表转换为字符串
【发布时间】:2018-05-22 05:32:20
【问题描述】:

我的任务是以硬币翻转的形式制作一个随机数生成器。由于这在某种程度上是一个入门课程,因此在本学期的这一点上,我只被允许使用某些内置函数。我得到了讲师给我们的链接的帮助,该链接帮助我理解了我用来生成该列表的当前代码。以下是用于生成列表的代码:

userin = int(input("enter the number of coin flips: ")
coin = ['H', 'T']
userlist = (random.choices((coin), k=userin))

现在,我将随机生成的列表存储到 userlist 中,因为我还要将其打印为列表。看起来很简单。我已经尝试将它打印为列表,但我假设因为我以这种方式编码,它总是会以列表格式打印它。我知道这很简单,而这之后的目标将需要更多的工作,但我的想法一直停留在这一点上。我最终将不得不计算生成了多少个“正面”和“反面”,从而产生了字符串。

【问题讨论】:

  • 我不明白问题是什么。请明确说明您要问的问题。
  • 如果要将列表转换为字符串,可以使用s = "".join(userlist)。例如,您可以使用内置函数计算正面数量:count('H')
  • 感谢埃里克的回复。很抱歉这个混乱的问题。我主要是问如何将列表转换为字符串并打印、操作等。但由于某种原因,我无法使用我认为可行的 str() 函数。我也认为我的导师会禁止 .join() 功能,但在这一点上我没有看到其他方法。再次感谢。

标签: python string list random numbers


【解决方案1】:

我认为您正在寻找的内容大致如下:

import random

try:
    userin = int(input("Enter the number of desired coin flips: "))

except ValueError:
    print("Invalid Input")

coin = ['H', 'T']
userlist =(random.choices((coin), k=userin))

print('You flipped '  + str(userlist.count('H')) + ' Heads and ' + str(userlist.count('T')) + ' Tails.')

print(userlist)

k=""

for x in range(0, len(userlist)):

    k=str(k) +"" + str(userlist.pop())

print(k)

这是假设您只想打印掷硬币的结果。在没有输入整数的情况下,在开始时添加了一个 try 循环。确保导入 random 以便它也能正常工作,还在输入语句的末尾添加了一个缺少的括号。使用 list.count() 函数查找用户列表中 T 或 H 的数量。也只是在你的打印中使用 str() 应该可以工作。希望这能满足您的目的。

【讨论】:

  • 谢谢查尔斯!我喜欢你用来计算正面和反面数量的计数方法。该作业要求打印列表和打印字符串,并且由于某种原因,在尝试基本上您之前在这里的内容时,它只打印了两个列表而不是“列表”和“字符串”。 (这是使用 str(userlist))无论出于何种原因,它只是打印相同的内容。
  • @relytkadReh 单独打印用户列表并使用 str(userlist) 应该返回相同的内容。我的示例是否解决了您的问题,或者您能否澄清您还在寻找什么?
  • 在某种程度上很好。我希望它看起来像这样:['H', 'H', 'H', 'T'] 和 HHHT。但是当使用 str(userlist) 时,它仍然只是将其打印为列表。我再次提出它的原因是因为正如我所说,我认为讲师不会接受 .join() 方法。但无论如何,我们都非常感谢您的帮助。
  • @relytkadReh 编辑了我的代码,所以现在它应该适合你。刚刚创建了一个新字符串并将列表中的字符串单独添加到新字符串中。但是,此代码在返回列表后不保存列表的值。让我知道它是否有效。 :)
  • 谢谢,谢谢!你帮了忙。我一直在修补下一部分,它正在遍历随机生成的字符串并找到 H 和 T 的最长运行模式。我不想让你为我做任务,但如果你想考虑一下,我会很感激继续谈话。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-03-10
  • 1970-01-01
  • 1970-01-01
  • 2014-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多