我正在尝试制作骰子游戏,所以我想制作骰子游戏,这样它将检测骰子上的数字是奇数还是偶数。这是我尝试过的,但是没有用。
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语句,并使其检测是偶数还是奇数。
答案 0 :(得分:1)
要检查数字是奇数还是偶数,可能不需要偶数,奇数列表,您可以检查以下代码:
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!")
答案 1 :(得分:0)
如果x%2 == 0:print(“这是一个偶数!”)else:print(“这是一个奇数!”)
答案 2 :(得分:0)
如果使用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
,您无需加载常数0来检查是否为零。而是可以使用寄存器标志,如果循环通过许多数字来测试偶数或奇数,则速度会更快。此外,可以将代码简化为可读性较低但效率更高的形式。如果您想更简单一些,可以使用更长的表格:
if x & 1:
print("It is an Odd number!")
else:
print("It is an Even number!")