首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >If语句中的"else“不起作用(Python)

If语句中的"else“不起作用(Python)
EN

Stack Overflow用户
提问于 2018-04-24 10:28:51
回答 1查看 41关注 0票数 0

我有一个用python编写的骰子程序,当我尝试执行"else“语句时,它不起作用。

下面是我的代码:

代码语言:javascript
复制
'''
Made by Thou
http://v.ht/Thou
'''

import os
import time
from random import *
from colorama import *

os.system('cls') # Clears the screen

print(Fore.RED + 'Made by Thou') 
print(Fore.RED + '@Th0u__')

print() # Blank line

print(Fore.WHITE + 'What dice would you like to roll?')

print("D4, D6, D10, D12, D20")

D4 = randint(1, 4) # Normal definition

D6 = randint(1, 6) # Normal definition

D10 = randint(1, 10) # Normal definition

D12 = randint(1, 12) # Normal definition

D20 = randint(1, 20) # Normal definition

age = D4 # Normal definition

diceI = input(":") # The thing that shows ':'

# Messy code woo

if diceI == "D4" or "d4": 
    time.sleep(.1)
    os.system('cls')
    print(randint(1, 4))
    time.sleep(.2)
    os.system('cls')
    print(randint(1, 4))
    time.sleep(.2)
    os.system('cls')
    print(randint(1, 4))
    time.sleep(.3)
    os.system('cls')
    print(randint(1, 4))
    time.sleep(.4)
    os.system('cls')
    print(randint(1, 4))
    time.sleep(.4)
    os.system('cls')
    print(randint(1, 4))
    time.sleep(.5)
    os.system('cls')
    print(randint(1, 4))
    time.sleep(.6)
    os.system('cls')
    print(randint(1, 4))
    time.sleep(.6)
    os.system('cls')
    print(randint(1, 4))
    time.sleep(.7)
    os.system('cls')
    print(randint(1, 4))
    time.sleep(.8)
    os.system('cls')
    print(randint(1, 4))
    time.sleep(.8)
    os.system('cls')
    print(randint(1, 4)) 

elif diceI == "D6" or "d6": 
    time.sleep(.1)
    os.system('cls')
    print(randint(1, 6))
    time.sleep(.2)
    os.system('cls')
    print(randint(1, 6))
    time.sleep(.2)
    os.system('cls')
    print(randint(1, 6))
    time.sleep(.3)
    os.system('cls')
    print(randint(1, 6))
    time.sleep(.4)
    os.system('cls')
    print(randint(1, 6))
    time.sleep(.4)
    os.system('cls')
    print(randint(1, 6))
    time.sleep(.5)
    os.system('cls')
    print(randint(1, 6))
    time.sleep(.6)
    os.system('cls')
    print(randint(1, 6))
    time.sleep(.6)
    os.system('cls')
    print(randint(1, 6))
    time.sleep(.7)
    os.system('cls')
    print(randint(1, 6))
    time.sleep(.8)
    os.system('cls')
    print(randint(1, 6))
    time.sleep(.8)
    os.system('cls')
    print(randint(1, 6)) 

elif diceI == "D10" or "d10": 
    time.sleep(.1)
    os.system('cls')
    print(randint(1, 10))
    time.sleep(.2)
    os.system('cls')
    print(randint(1, 10))
    time.sleep(.2)
    os.system('cls')
    print(randint(1, 10))
    time.sleep(.3)
    os.system('cls')
    print(randint(1, 10))
    time.sleep(.4)
    os.system('cls')
    print(randint(1, 10))
    time.sleep(.4)
    os.system('cls')
    print(randint(1, 10))
    time.sleep(.5)
    os.system('cls')
    print(randint(1, 10))
    time.sleep(.6)
    os.system('cls')
    print(randint(1, 10))
    time.sleep(.6)
    os.system('cls')
    print(randint(1, 10))
    time.sleep(.7)
    os.system('cls')
    print(randint(1, 10))
    time.sleep(.8)
    os.system('cls')
    print(randint(1, 10))
    time.sleep(.8)
    os.system('cls')
    print(randint(1, 10)) 

elif diceI == "D12" or "d12": 
    time.sleep(.1)
    os.system('cls')
    print(randint(1, 12))
    time.sleep(.2)
    os.system('cls')
    print(randint(1, 12))
    time.sleep(.2)
    os.system('cls')
    print(randint(1, 12))
    time.sleep(.3)
    os.system('cls')
    print(randint(1, 12))
    time.sleep(.4)
    os.system('cls')
    print(randint(1, 12))
    time.sleep(.4)
    os.system('cls')
    print(randint(1, 12))
    time.sleep(.5)
    os.system('cls')
    print(randint(1, 12))
    time.sleep(.6)
    os.system('cls')
    print(randint(1, 12))
    time.sleep(.6)
    os.system('cls')
    print(randint(1, 12))
    time.sleep(.7)
    os.system('cls')
    print(randint(1, 12))
    time.sleep(.8)
    os.system('cls')
    print(randint(1, 12))
    time.sleep(.8)
    os.system('cls')
    print(randint(1, 12)) 

elif diceI == "D20" or "d20": 
    time.sleep(.1)
    os.system('cls')
    print(randint(1, 20))
    time.sleep(.2)
    os.system('cls')
    print(randint(1, 20))
    time.sleep(.2)
    os.system('cls')
    print(randint(1, 20))
    time.sleep(.3)
    os.system('cls')
    print(randint(1, 20))
    time.sleep(.4)
    os.system('cls')
    print(randint(1, 20))
    time.sleep(.4)
    os.system('cls')
    print(randint(1, 20))
    time.sleep(.5)
    os.system('cls')
    print(randint(1, 20))
    time.sleep(.6)
    os.system('cls')
    print(randint(1, 20))
    time.sleep(.6)
    os.system('cls')
    print(randint(1, 20))
    time.sleep(.7)
    os.system('cls')
    print(randint(1, 20))
    time.sleep(.8)
    os.system('cls')
    print(randint(1, 20))
    time.sleep(.8)
    os.system('cls')
    print(randint(1, 20)) 

else:
    print(Fore.RED + 'That isnt an option!")

我认为问题是当这种情况发生时,代码已经接近尾声:

代码语言:javascript
复制
else:
    print(Fore.RED + 'That isnt an option!")

我不知道发生了什么。每当我尝试输入不是“if”或“elif”的内容时,它就会使用D4骰子。请帮帮我!

EN

回答 1

Stack Overflow用户

发布于 2018-04-24 10:33:28

我想我什么都不用说了。

在python3 shell中:

代码语言:javascript
复制
>>> diceI = "D1"
>>> print(diceI == "D4" or "d4")
d4
>>> print(bool(diceI == "D4" or "d4"))
True
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49992556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档