Python 3.x 面向初学者的Python

Python 3.x 面向初学者的Python,python-3.x,Python 3.x,Python编程:我需要编写一个程序,它需要两个军事时间输入。例如,(09001700)并以小时、分钟为单位输出两个输入的时间差 例: 输出 8 hours 30 minutes 15 hours 30 minutes 按相反的顺序 print("Enter the second time:") 1730 print("Enter the first time:") 0900 输出 8 hours 30 minutes 15 hours 30 minutes 我尝试了下面的代码,但输出

Python编程:我需要编写一个程序,它需要两个军事时间输入。例如,(09001700)并以小时、分钟为单位输出两个输入的时间差

例:

输出

8 hours 30 minutes
15 hours 30 minutes
按相反的顺序

print("Enter the second time:") 1730
print("Enter the first time:") 0900
输出

8 hours 30 minutes
15 hours 30 minutes
我尝试了下面的代码,但输出只是我的输入

import datetime,time

first = input("Enter the first time in military hours:")
second = input( "Enter the second time in military hours:")
first_t= datetime.time(hour=int(first[0:2]), minute=int(first[2:4]))
second_t= datetime.time(hour=int(second[0:2]), minute=int(second[2:4]))
hour = ( second.hour-first.hour )
minute= (second.hour-first.hour)
fmt = ("%H ,%M")
print (first_t.strftime(fmt) , second_t.strftime(fmt))

对于输入值
05001830
,它给了我
050018,30

欢迎使用python。在python中,一切都很简单。首先,你需要从更深层次理解你的问题。这里的问题是意识到你得到的是两个稍微不同的总和。一个很好的方法是用一个共同的形式(分钟)来表示它们,然后在那里做所有的数学运算,然后只为了显示而更改回去。例如:

def time_diference(time1, time2):
    hour_change = abs(int(time1[:2]) - int(time2[:2]))
    minute_change = int(time2[2:]) - int(time1[2:])
    # Change hours to equivalent minutes so you're really comparing apples to apples
    total_minute_change = hour_change * 60 + minute_change
    return total_minutes_change

def print_time(minute_difference):
    # Display the answer back to the user

print_time(time_difference(first, second))
现在你已经比较了它们,你有了不同,你应该更好地掌握如何继续,但仍然有一些边缘案例需要考虑

例如,如果你有时间“0900”和“0845”,会发生什么。在最初的示例中,您可能需要考虑另一种边缘情况,即当分钟数为负时,例如:
0945
1337
,在这种情况下,解决方案将中断


我尽量不给你吃勺子,因为这是你真正需要自己弄清楚的东西,而且这是家庭作业,但我希望这能为您提供一个良好的起点。

这里的问题到底是什么?我如何更正代码以使其输出正确答案?这是一个家庭作业问题吗?是的,这是我的IT210编程课上的一个家庭作业问题。您确实在这一行中打印输入:
print(first\t.strftime(fmt),second\t.strftime(fmt)
,既然你正在打印
第一个和
第二个
,试着解决这个问题。谢谢你的回答和其他人的帮助。这是我的第一节编程课,所以所有这些都很快就向我飞来。我理解你答案中的变量,但不是所有的位置。无论如何,谢谢。