代码错误typeerror,indexerror,valu

2024-04-25 19:12:24 发布

您现在位置:Python中文网/ 问答频道 /正文

def time():
    timeString = input("Enter time in military format(hh:mm):")
    enteries = timeString.split(":")
    hours = int(enteries[0]) 
    minutes = int(enteries[1]) <---IndexError: list index out of range

    if enteries <= 1200:      <-------errorTypeError: unorderable types: str() <= int()
        print(hours,":", "AM")
    else:
        time > 1200 
        standard = (time - 1200)
        print (standard,"PM")       

time()

Enter time in military format(hh:mm):09:87

Traceback (most recent call last):
  File "E:\ICS 140\python\ass5.py", line 17, in <module>
    time()
  File "E:\ICS 140\python\ass5.py", line 9, in time
    if int(timeString) <= 1200:
ValueError: invalid literal for int() with base 10: '09:87'

Enter time in military format(hh:mm):09:87

Traceback (most recent call last):
  File "E:\ICS 140\python\ass5.py", line 17, in <module>
    time()
  File "E:\ICS 140\python\ass5.py", line 7, in time
    minutes = int(enteries[2])
IndexError: list index out of range

Enter time in military format(hh:mm):09:87

Traceback (most recent call last):
  File "E:\ICS 140\python\ass5.py", line 17, in <module>
    time()
  File "E:\ICS 140\python\ass5.py", line 9, in time
    if int(timeString <= 1200):
TypeError: unorderable types: str() <= int()

Tags: inpyformattimehhlinefileint
1条回答
网友
1楼 · 发布于 2024-04-25 19:12:24

你的代码有一些问题,这是我认为你射击的目的

def time():
    timeString = input('Enter time in military format (hh:mm): ')
    hours, minutes = map(int, timeString.split(':'))
    if hours <= 12:
        return '{}:{} AM'.format(hours, minutes)
    else:
        standard = hours - 12
        return '{}:{} PM'.format(standard,minutes)

测试

>>> time()
Enter time in military format (hh:mm): 09:15
'9:15 AM'

>>> time()
Enter time in military format (hh:mm): 21:25
'9:25 PM'

相关问题 更多 >