【问题标题】:How do i set a value to x if a random number is in-between 6 - 9如果随机数介于 6 - 9 之间,我如何将值设置为 x
【发布时间】:2017-03-20 00:00:20
【问题描述】:

当我运行我的代码时,小于或等于 6 的数字显示为:x: 1。如果随机数为 7,则不会显示 x: 2。如果随机数介于 6 - 9 之间,我该如何解决它,它会打印 x: 2.

import random

for k in range(1,10):
    rnum =  random.randint(1, 10)
    print(rnum)
    if rnum <= 6:
        x = 1
        print("x:",x)

    elif rnum == (6,9):
        x = 2
        print("x:", x)

    elif rnum == 10:
        x = 3
        print("x:", x)

当你运行代码时:

8
9
1
x: 1
1
x: 1
5
x: 1
1
x: 1
4
x: 1
9
4
x: 1

Process finished with exit code 0

【问题讨论】:

    标签: python-3.x variables random


    【解决方案1】:

    目前,您使用的 elif rnum == (6,9): 语法不正确。尝试使用elif rnum &lt;= 9 and rnum &gt;= 6: 翻译为“如果 x 小于或等于 9 且大于或等于 6”。

    【讨论】:

    • elif 6 &lt; rnum &lt;= 9 会更好。
    • 我试图让我的代码易于理解,但是是的,这是另一种编写方式。
    【解决方案2】:

    当您检查elif rnum == (6,9): 时,左侧是int,右侧是tuple。平等是行不通的。

    您可以使用in 检查元组的成员资格,但元组将明确需要所有值:elif rnum in (6,7,8,9):。另一种方法是使用范围,但请记住,范围不包含上限,因此它将是:elif rnum in range(6,10):

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-03
      • 1970-01-01
      • 1970-01-01
      • 2015-01-02
      • 2021-01-01
      • 2023-02-17
      相关资源
      最近更新 更多