Python 用于计算一周中的天数的程序

Python 用于计算一周中的天数的程序,python,arrays,basic,Python,Arrays,Basic,这可能很难解释。 我必须把一个旧的BASIC程序“翻译”成python 该计划称为工作日: 10打印页签(32);“工作日” 20打印标签(15);“新泽西州莫里斯镇创意计算” 30打印:打印:打印 100打印“工作日是一个计算机演示” 110 PRINT“提供您感兴趣的日期的事实。” 120字 130打印“在表单中输入今天的日期:3241979”; 140输入M1、D1、Y1 150 REM此程序确定一周中的哪一天 1582年后的日期为160雷姆 170 DEF FNA(A)=内部(A/4)

这可能很难解释。 我必须把一个旧的BASIC程序“翻译”成python

该计划称为工作日:

10打印页签(32);“工作日”
20打印标签(15);“新泽西州莫里斯镇创意计算”
30打印:打印:打印
100打印“工作日是一个计算机演示”
110 PRINT“提供您感兴趣的日期的事实。”
120字
130打印“在表单中输入今天的日期:3241979”;
140输入M1、D1、Y1
150 REM此程序确定一周中的哪一天
1582年后的日期为160雷姆
170 DEF FNA(A)=内部(A/4)
180毫米T(12)
190 DEF FNB(A)=内部(A/7)
200 REM空间输出和读取初始值数月。
I=1至12时为210
220读T(I)
230下一个我
240打印“输入出生日期(或其他感兴趣的日期)”;
250输入M,D,Y
260字
270设I1=INT((Y-1500)/100)
280当前日历之前日期的REM测试。
290如果Y-1582,则为470
370如果Y3=0,则为440
380设T1=INT(Y-FNA(Y)*4)
390如果T1为0,则为470
400如果是B0,那么是420
410设B=6
420设B=B-1
430转到470
440设A=I1-1
450设T1=INT(A-FNA(A)*4)
460如果T1=0,则为400
470如果b0那么490
480设B=7
490如果(Y1*12+M1)*31+D1=0,则790
770设I6=I6-1
780设I7=I7+30
790如果I6>=0,则为820
800设I5=I5-1
810设I6=I6+12
820如果是I5 3,则为1040
1020打印“您已玩过”,
1030转到1080
1040如果K5>9,则为1070
1050打印“您已经玩过/学习过”,
1060转到1080
1070打印“您已经工作/玩过”,
1080 GOSUB 1370
1085转到1530
1090打印“你放松了”,K5,K6,K7
1100份
1110打印标签(16);“***您可以在年退休”;E" ***"
1120份
1140份
1200字
1210打印
1220份
1230打印
1240完
1250如果D=13,则为1280
1260打印“星期五”
1270转到710
1280打印“十三号星期五——当心!”
1290转到710
1300打印“不准备在MDLXXII之前给出星期几。”
1310转到1140
1320计算中所用月份的REM值表。
1330数据0,3,3,6,1,4,6,2,5,0,3,5
1340 REM这是计算中使用的当前日期。
1350 REM这是计算的日期。
1360 REM以年、月和日为单位计算时间
1370设K1=INT(F*A8)
1380设I5=INT(K1/365)
1390设K1=K1-(I5*365)
1400让I6=INT(K1/30)
1410设I7=K1-(I6*30)
1420设K5=K5-I5
1430设K6=K6-I6
1440设K7=K7-I7
1450如果K7>=0,则为1480
1460设K7=K7+30
1470设K6=K6-1
1480如果K6>0,则为1510
1490设K6=K6+12
1500设K5=K5-1
1510打印I5、I6、I7
1520返回
1530如果K6=12,则为1550
1540转到1090
1550设K5=K5+1
1560设K6=0
1570转到1090
1580雷姆
1590完
此程序将获取当前日期和出生日期,并返回一些统计数据,例如您的寿命、睡眠天数

作为作业的一部分,我必须解释每个变量在旧BASIC程序中的含义。在过去,变量名只能是A1、B3等

在这个程序中,有一个数组 召唤

此数组中有12个数字。我意识到该程序将读取从1月到12月的每个数字和匹配,我还发现这是为了计算它是什么,例如星期一。星期二

到目前为止,我已经发现了很多,但谁能向我解释一下数据数组中这些数字的确切含义呢


谢谢。

在不分离所有代码的情况下,它看起来是给定月份的周初偏移量

假设1月1日是星期二(比如2013年)


这似乎是假设它不是闰年,否则从3月开始的数字需要减少1,以留出额外的一天。

在不分离所有代码的情况下,它看起来是给定月份的周初偏移量

假设1月1日是星期二(比如2013年)


这似乎是假设这不是闰年,否则从3月开始的数字需要减少1,以留出额外的一天。

你能提供更多的问题背景吗?到非现场的链接远远不够理想。数据数组中的数字似乎是每个月第一天的偏移量。例如,如果1月1日是星期一,那么4月1日将被6天抵消,因此4月1日将落在星期日。谢谢!就在我发布了这个愚蠢的问题后,我发现它是从月份表的日期。谢谢你的帮助!!!你能在问题中提供更多的上下文吗?到非现场的链接远远不够理想。数据数组中的数字似乎是每个月第一天的偏移量。例如,如果1月1日是星期一,那么4月1日将被6天抵消,因此4月1日将落在星期日。谢谢!就在我发布了这个愚蠢的问题后,我发现它是从月份表的日期。谢谢你的帮助!!!谢谢我在谷歌上搜索了一下,发现这是一张月表,不用担心。记录在案的是,当时变量的命名不必太糟糕。。。它们只是(我曾经不得不调试一些变量名为希腊和罗马神的东西-
LET ZEUS=HERA-ATHENA/3
ugh!)。此外,如果这回答了你的问题,请考虑通过点击左边的刻度标记来接受答案。欢迎来到SO,希望能见到你。谢谢!!我在谷歌上搜索了一下,发现这是一张月表,不用担心。记录在案的是,当时变量的命名不必太糟糕。。。它们只是(我曾经不得不调试一些变量名为希腊和罗马神的东西-
LET ZEUS=HERA-ATHENA/3
ugh!)。此外,如果这回答了你的问题,请考虑通过点击左边的刻度标记来接受答案。欢迎来到SO,希望能见到你
DATA = [0, 3, 3, 6, 1, 4, 6, 2, 5, 0, 3, 5]
Jan     0    Tuesday
Feb     3    Friday (Tuesday + 3)
Mar     3    Friday (Tuesday + 3)
Apr     6    Monday (Tuesday + 6)
etc...