使用if语句检测随机整数是奇数还是偶数



我正在尝试制作一个骰子游戏,我想制作它,这样它就能检测骰子上的数字是奇数还是偶数。这是我尝试过的,但没有成功。

from random import randrange
import random
import time
Even = [2, 4, 6]
Odd = [1, 3, 5]
x = random.randint(1, 6)
print("Rolling Dice...")
print("Your number is...." + str(x))
if str(x) == Even:
print("It is an Even number!")
if str(x) == Odd:
print("It is an Odd number!")

我需要知道如何做if统计,并让它检测它是偶数还是奇数。

如果要检查奇数或偶数,您可能不需要偶数、奇数列表,您可以检查以下代码:

from random import randrange
import random
import time
x = random.randint(1, 6)
print("Rolling Dice...")
time.sleep(2)
print("Your number is....{}".format(x))
if x % 2 == 0:
print("It is an Even number!")
else:
print("It is an Odd number!")

if x%2==0:print("这是偶数!"(else:print("它是奇数!"(

如果您使用AND/&(而不是此处所示的Modulo/%运算符(,则可以有效地执行此操作。您还可以跳过== 0并合并打印。

from random import randrange
import random
import time
x = random.randint(1, 6)
print("Rolling Dice...")
time.sleep(2)
print("Your number is....{}nIt is an {} number!".format(x, "Odd" if x & 1 else "Even"))

如果您使用按位AND运算符(x & 1(,您的代码将在更少的机器周期内完成,因为不会发生除法。通过删除检查== 0,理论上,您不会加载零值来检查是否为零。相反,可以使用寄存器标志,如果循环通过许多数字来测试偶数或奇数,则速度会快得多。此外,代码可以简化为可读性较差但更高效的形式。如果你想更简单,你可以使用更长的形式:

if x & 1:
print("It is an Odd number!")
else:
print("It is an Even number!")

最新更新