我有一个用python编写的骰子程序,当我尝试执行"else“语句时,它不起作用。
下面是我的代码:
'''
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!")我认为问题是当这种情况发生时,代码已经接近尾声:
else:
print(Fore.RED + 'That isnt an option!")我不知道发生了什么。每当我尝试输入不是“if”或“elif”的内容时,它就会使用D4骰子。请帮帮我!
发布于 2018-04-24 10:33:28
我想我什么都不用说了。
在python3 shell中:
>>> diceI = "D1"
>>> print(diceI == "D4" or "d4")
d4
>>> print(bool(diceI == "D4" or "d4"))
Truehttps://stackoverflow.com/questions/49992556
复制相似问题