Python 把我的代码放在一行

Python 把我的代码放在一行,python,Python,我无法使以下各项正常工作。我需要通过添加 else: print("Type only 4, 6, or 12.") 但是,在代码上执行此操作不起作用: def dicegame(): #This defines the dicegame coding so I can call it later on number=int(input("Hello. Enter either 4,6 or 12 to determine what sided dice you

我无法使以下各项正常工作。我需要通过添加

else:
       print("Type only 4, 6, or 12.")
但是,在代码上执行此操作不起作用:

def dicegame():
    #This defines the dicegame coding so I can call it later on

    number=int(input("Hello. Enter either 4,6 or 12 to determine what sided dice you want to use "))

    import random
    if number=="4" or "6" or "12":
        print("You have rolled a", number, "sided dice with the number", random.randint(1,number))


    #These if loops direct the program to the correct coding down to what the user inputs (ie. 4, 6 or 12)

    print("Would you like to roll again?")
    answer=input("Enter either yes or no.")

    if answer == ("yes"):
        dicegame()

    if answer == ("no"):
        print("Ok, goodbye")

    #Program prints "Would you like to roll again?
    #Using input, user can reply to what the program prints, labelled with the variable 'answer'

dicegame()

为我的验证添加else循环后,循环中断

我没有看到循环,但有一点是错误的:

而不是

if number=="4" or "6" or "12":
使用


请注意,数字已被转换为
int
我没有看到循环,但有一点是错误的:

而不是

if number=="4" or "6" or "12":
使用

请注意,数字已被转换为
int

试试看

if number==4 or number==6 or number==12:

“6”总是正确的-所以你总是满足条件。。。 在编写
number=int(…)
时,还必须删除引号

if number==4 or number==6 or number==12:

“6”总是正确的-所以你总是满足条件。。。 在编写
number=int(…)
时,还必须删除引号