我正在尝试制作一个Python脚本,它将根据你的出生日期告诉你你出生在哪一天。你知道吗
但是我需要这样做,如果你出生在“二月”、“四月”、“六月”、“九月”、“十一月”这两个月,那么它需要有一个不同的等式,所以现在我这样做了,如果你把你的日期设为“6”(六月),它只会
print("This Is True")
所以我就这样安排的
if M == '2':
i = 30
X = 'Answer'
if M == '4':
i = 30
X = 'Answer'
if M == '6':
i = 30
X = 'Answer'
if M == '9':
i = 30
X = 'Answer'
if M == '11':
i = 30
X = 'Answer'
os.system('CLS')
if X == 'Answer':
print('This Is True')
input()
elif X != 'Answer':
print('This is False')
input()
然而,当它不是上面列出的一个月,它会
print('This is False')
然而,当我输入“10”(十月)时,程序将关闭,不会显示“This is False”
我知道我今天问了很多问题,但是再一次(如果你不能从代码中分辨出来的话)我是个新手
如果有人还想指出代码可能更好的地方的任何提示,请看以下所有内容:
import os
M = 'Monday'
T = 'Tuesday'
W = 'Wednesday'
TT = 'Thursday'
F = 'Friday'
S = 'Saturday'
SS = 'Sunday'
print('Enter Your DOB as DD/MM/YYYY: ')
D = input("Day: ")
M = input("Month: ")
if M == '2':
i = 30
X = 'Answer'
if M == '4':
i = 30
X = 'Answer'
if M == '6':
i = 30
X = 'Answer'
if M == '9':
i = 30
X = 'Answer'
if M == '11':
i = 30
X = 'Answer'
Y = input("Year: ")
if (len(Y)) < 4:
print('You Have Entered A Too Short Or Too Long of a Year')
input()
os._exit(0)
os.system('CLS')
if X == 'Answer':
print('This Is True')
elif X != 'Answer':
print('This is False')
input()
os.system('CLS')
print("You Were Born On A:")
input("Press ENTER To Exit")
也许这对您来说太高级了,但是我们有一个称为datetime模块的模块,它适用于这些事情,因此您的代码可以缩短为
输出看起来像
此外,还有一些方法可以改进以前的代码。你知道吗
weekdays
if-else
,不如用['2' , '4', '6', '9', '11']
这样的列表来保存你所有的月份,用in
来检查这个月是否结帐,如果你用的是MM
,你应该对照02,04,06...
等等sys.exit()
退出代码因此,对代码的改进可能看起来像。你知道吗
为什么不使用真/假
我重写了一些东西并添加了@Max的想法
请注意代码中的一些错误:
首先将
M
变量实例化为Monday
(M = 'Monday'
),然后用用户的输入覆盖它的值(M = input("Month: ")
)只有当一个
if
被设置为true
时,才创建X
变量,这意味着M
是'2,4,6,9,11)您应该在
if
之外创建X
比如:
相关问题 更多 >
编程相关推荐