I';我在最后5行的编码中遇到了麻烦。I';我是python新手,有人能教我怎么做吗?
//如何通过I';我在最后5行的编码中遇到了麻烦。I';我是python新手,有人能教我怎么做吗?,python,Python,//如何通过 12小时制和24小时制? //第一个是关于正常的时钟转换,我相信 def main(): in1 = input("Enter the Hour: ") num = 0 + eval(in1) # eval() convert the input string into a number if (num <= 0) or (num >= 25): print(in1,'is out of range') r
12小时制和24小时制? //第一个是关于正常的时钟转换,我相信
def main():
in1 = input("Enter the Hour: ")
num = 0 + eval(in1) # eval() convert the input string into a number
if (num <= 0) or (num >= 25):
print(in1,'is out of range')
return 0 #if it is over 25, print and terminate
else:
num1 = num % 12 #2%12 =2;
if(num == 24):
f12 = "MIDNIGHT"
elif(num < 10):
f12 = "0"+str(num1)+" AM" # 1-9, convert 1 to 01
elif(num > 12):
f12 = str(num1)+" PM" # >12, convert 13 to 1
#f12 = str(num-12)+" PM" # >12, convert 13 to 1
elif num == 12:
f12 = "NOON"
else:
f12 = str(num1)+" AM" # 10,11, 12
print("Time", in1, "using 12-hour clock: ",f12)
if(num == 24):
________________________________
elif(num == 12):
________________________________
elif(num < 10):
________________________________
else:
________________________________
print("Time", in1, "using 24-hour clock: ",f24)
main()
def main():
in1=输入(“输入小时:”)
num=0+eval(in1)#eval()将输入字符串转换为数字
如果(num=25):
打印(在1中,“超出范围”)
返回0#如果超过25,则打印并终止
其他:
num1=num%12#2%12=2;
如果(num==24):
f12=“午夜”
elif(数值<10):
f12=“0”+str(num1)+“AM”#1-9,将1转换为01
elif(数值>12):
f12=str(num1)+“PM”#>12,将13转换为1
#f12=str(num-12)+“PM”#>12,将13转换为1
elif num==12:
f12=“中午”
其他:
f12=str(num1)+“AM”#10,11,12
打印(“时间”,输入1,“使用12小时时钟:”,f12)
如果(num==24):
________________________________
elif(num==12):
________________________________
elif(数值<10):
________________________________
其他:
________________________________
打印(“时间”,in1,“使用24小时时钟:”,f24)
main()
我知道要12小时,但最后5行是关于
24小时转换,我猜?我刚刚开始在线学习python,遇到了这个问题。如果你能向我解释并解释一下,我将非常感谢你的帮助。为什么要重新发明轮子
import datetime
now = datetime.datetime.now()
print "12hr: %s" % (datetime.datetime.strftime(now,"%I:%M:%S %p"))
print "24hr: %s" % (datetime.datetime.strftime(now,"%H:%M:%S"))
如果s处理12小时时钟的特殊情况,则第一个
块,例如,是午夜
,中午
,上午/下午
。要求您完成24小时时钟的特殊情况,并将结果分配给变量f24
。我假设24:f24='MIDNIGHT'
,12:f24='NOON'
,您不需要为>12
做任何特殊的事情,但是如果<10
您需要像在12小时时钟中一样填充0
在python中有很多更简单的方法来实现这一点,但我认为这是一个教学材料,采用这种方法是有原因的。几点评论
首先,这不是很好的代码。
其次,如果您不确定发生了什么,请运行程序并查看。对于这样一个小脚本,这并不麻烦
现在是代码
num是用户输入的24小时时钟小时,转换为整数。f12是12小时时钟上的等效时间,作为字符串
num1是十二小时时钟上的小时,由
num1 = num % 12
这里的%运算符给出除以12的余数,因此14%12=2
if num == 24:
f12 = "MIDNIGHT"
我想这是清楚的
elif(num < 10):
f12 = "0"+str(num1)+" AM" # 1-9, convert 1 to 01
在下午,24小时的时间是不同的,所以我们使用num1表示小时,并连接“PM”。注意字符串“PM”中的空格。这是为了避免“PM”与时间冲突。出于某种原因,脚本没有在下午追加0到1位数的小时数。我怀疑这是作者的疏忽
我想剩下的代码现在已经很清楚了
这不是编写代码的好方法。最好先计算所需的数据,然后用一段代码进行输出。这将避免一位数小时的错误(我认为是这样)
我建议您尝试清理代码,现在您已经理解了它
elif(num > 12):
f12 = str(num1)+" PM" # >12, convert 13 to 1