【问题标题】:Converting randomly generated list of numbers into integers [closed]将随机生成的数字列表转换为整数[关闭]
【发布时间】:2016-04-20 07:23:48
【问题描述】:
elif a == "other":
    numbers = [randrange(33, 126) for _ in range(8)]
    for n in numbers:
        print(n)
        print(chr(n))
    sum(numbers)
    numbercomp = numbers /8 -32

我正在尝试将随机生成的数字列表转换为整数,以便将它们除以 8 和负 32。

【问题讨论】:

  • 你遇到了什么问题?
  • 我相信你只需要存储 sum 的结果 -- numbers = sum(numbers)
  • 您的要求是不可能的。您要求将列表转换为整数。仅凭这种描述,就没有解决方案。
  • 好的,所以我添加了 numbers = sum(numbers) 并且它似乎有效!然而。我的密码遇到问题。

标签: python list integer


【解决方案1】:

从您的问题来看,您似乎想从 33-126 范围内生成 8 个随机数。然后将这些数字相加并除以 8。然后你想从中减去 32。

您生成的数字列表没问题。您只需要将总和存储在一个变量中,然后再使用它。我会这样做:

numbers = [randrange(33, 126) for _ in range(8)]
num_sum = sum(numbers)
numbercomp = (num_sum/8) - 32

【讨论】:

    【解决方案2】:

    如果我理解正确,您需要一个具有给定转换的整数列表。使用 ma​​p 函数会更快,但我希望这更容易掌握。我担心这种转换,因为它保证了负数——对于大多数应用程序来说,这是一个奇怪的结果。

    from random import randrange
    numbers = [randrange(33, 126) for _ in range(8)]
    for n in numbers:
        print(n)
        print(chr(n))
    sum(numbers)
    numbercomp = [int(_)/8 - 32 for _ in numbers]
    print numbercomp
    

    样本输出:

    121
    y
    80
    P
    79
    O
    70
    F
    54
    6
    98
    b
    82
    R
    125
    }
    [-17, -22, -23, -24, -26, -20, -22, -17]
    

    【讨论】:

      猜你喜欢
      • 2013-04-15
      • 2020-04-14
      • 2017-11-18
      • 2018-05-22
      • 1970-01-01
      • 1970-01-01
      • 2023-03-04
      • 1970-01-01
      相关资源
      最近更新 更多