| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
 本帖最后由 checkily 于 2018-1-31 10:37 编辑  
 
题目要求: 
输入一个开始时间,一个结束时间,计算两者的时间差。如果结束时间小于开始时间,则结束时间为下一天。 
例如: 
开始时间:12:12:12 
结束时间:14:23:23 
时间差为:7871 
 
- while True:
 
 -     starttime=input("please input start time:").split(":")
 
 -     starthour,startminute,startsecond=int(starttime[0]),int(starttime[1]),int(starttime[2])
 
 -     if starthour>24 or startminute>60 or startsecond>60:
 
 -         print("input error")
 
 -         continue
 
 -     stoptime=input("please input stop time:").split(":")
 
 -     stophour,stopminute,stopsecond=int(stoptime[0]),int(stoptime[1]),int(stoptime[2])
 
 -     if stophour>24 or stopminute>60 or stopsecond>60:
 
 -         print("input error")
 
 -         continue
 
 -     if stophour<starthour:
 
 -         stophour+=24
 
 -         seconds=(stophour-starthour)*3600+(stopminute-startminute)*60+(stopsecond-startsecond)
 
 -         print("seconds:%d" % seconds)
 
 -         break
 
 -     else:
 
 -         seconds=(stophour-starthour)*3600+(stopminute-startminute)*60+(stopsecond-startsecond)
 
 -         print("seconds:%d" % seconds)
 
 -         break
 
  复制代码 
 
 
要求加入:如果只是结束时间输入错误,不用重新输入开始时间。另外输入格式错误,要提示“输入格式错误,请以00:00:00的格式输入”
 本帖最后由 sky 于 2018-1-31 10:50 编辑 
- from datetime import datetime
 
  
- t1 = "12:12:12"
 
 - t2 = "14:23:23"
 
 - a = datetime.strptime(t1, "%H:%M:%S")
 
 - b = datetime.strptime(t2, "%H:%M:%S")
 
 - c = b - a
 
 - print(c.seconds)
 
 
  复制代码 
基本的方法是这样的 剩下的逻辑 你试试 基本的模块使用方法要学会网上搜索 看文档 
 
 
 
 
 
 |   
 
 
 
 |