Python 如何在整数输入中输入逗号?

Python 如何在整数输入中输入逗号?,python,datetime,time,traceback,Python,Datetime,Time,Traceback,所以,我正在制作一个使用datetime的程序。当我尝试使用input命令输入datetime的时间时,无论何时运行它,它都会给出以下信息: Traceback (most recent call last): File "c:\Users\461gdc15\OneDrive\Alarm.py", line 10, in <module> start = datetime.time(input()) TypeError: an integer is require

所以,我正在制作一个使用datetime的程序。当我尝试使用input命令输入datetime的时间时,无论何时运行它,它都会给出以下信息:

Traceback (most recent call last):
File "c:\Users\461gdc15\OneDrive\Alarm.py", line 10, in <module>
start = datetime.time(input())
TypeError: an integer is required (got type str)
回溯(最近一次呼叫最后一次):
文件“c:\Users\461gdc15\OneDrive\Alarm.py”,第10行,在
start=datetime.time(输入())
TypeError:需要一个整数(获取类型str)
所以,我想做的是添加一个逗号,使它在两个小时内的某个时间消失。有人对如何在整数输入中添加逗号有什么建议吗?
我被要求添加错误回溯。我想就是这样。

简单的回答是:你不能。 整数就是一个数字。无论何时添加另一个字符,它都将成为字符串。实际上,默认情况下,输入函数总是返回一个字符串。 您可以使用str.split(“,”)方法在逗号之间拆分字符串,创建这些元素的列表,然后将每个值单独转换为一个整数,最后将其交给datetime.time()函数调用

time_input = input("Insert your time. (Format: year, month, day)")
time_input = time_input.split(",")

start = datetime.time(int(time_input[0]), int(time_input[1]), int(time_input[2]))

简单的回答是:你不能。 整数就是一个数字。无论何时添加另一个字符,它都将成为字符串。实际上,默认情况下,输入函数总是返回一个字符串。 您可以使用str.split(“,”)方法在逗号之间拆分字符串,创建这些元素的列表,然后将每个值单独转换为一个整数,最后将其交给datetime.time()函数调用

time_input = input("Insert your time. (Format: year, month, day)")
time_input = time_input.split(",")

start = datetime.time(int(time_input[0]), int(time_input[1]), int(time_input[2]))
这就是它现在给我的,我一直在等待,什么也没发生。 旁注。。。此外,还为闹钟添加了一种方式,可以告诉你是早上还是下午

这就是它现在给我的,我一直在等待,什么也没发生。 旁注。。。还为闹钟添加了一种方式,可以告诉你是早上还是下午。


导入日期时间、时间、winsound、线程
打印(“您希望闹钟什么时候响?”)
start=datetime.time(*[int(x)代表输入中的x('插入您的时间(格式:小时,分钟)\n>)。拆分(','))
end=datetime.time(*[int(x)表示输入中的x(“如果在它关闭时不关闭它,那么什么时候需要它?”
要停止?\n>“”。拆分(“,”)])
尽管如此:
now=datetime.now().time()
如果开始<代码>
导入日期时间、时间、winsound、线程
打印(“您希望闹钟什么时候响?”)
start=datetime.time(*[int(x)代表输入中的x('插入您的时间(格式:小时,分钟)\n>)。拆分(','))
end=datetime.time(*[int(x)表示输入中的x(“如果在它关闭时不关闭它,那么什么时候需要它?”
要停止?\n>“”。拆分(“,”)])
尽管如此:
now=datetime.now().time()


如果开始,您可以使用一些示例输入和
start
在每种情况下应该具有的相应值来更新您的问题吗?您没有提供,但您使用的是
intput()
,而不是
int(input())
。每当我使用
int(input())
时,它都会给我
回溯(最近一次调用):文件“c:\Users\461gdc15\OneDrive\Alarm.py”,第10行,在start=datetime.time(int(input())值中错误:int()的文本无效以10为基数:“2,50”
不清楚您希望
'2,30'
表示什么整数。因此,在模块
日期时间
中,您插入时间,在本例中是2:30,程序让您在
end=datetime.time()
区域中键入
2,30
,但当我使用
int(input())
它给了我整个
ValueError
交易。当我使用常规
input()
时,它给了我一个
TypeError
。你能用一些示例输入和
start
在每种情况下应该具有的相应值来更新你的问题吗?你没有提供,但你使用了
intput()
而不是
int(input())
。每当我使用
int(input())
时,它会给我
回溯(最近一次调用):文件“c:\Users\461gdc15\OneDrive\Alarm.py”,第10行,在start=datetime中。时间(int(input())值错误:int()的文本无效以10为基数:“2,50”
不清楚您希望
'2,30'
表示什么整数。因此,在模块
日期时间
中,您插入时间,在本例中是2:30,程序让您在
end=datetime.time()
区域中键入
2,30
,但当我使用
int(input())
它提供了整个
ValueError
deal。当我使用常规
input()时
它给了我一个
TypeError
。那么,我该如何将三个
time\u输入
s转换成两个值?例如,小时和分钟?在这种情况下,您需要在输入函数中指定不同的格式,然后只使用索引[0]和[1]在datetime.time函数中,因为您现在只有两个元素。它是相同的,但这次只有两个参数,您不需要时间输入[2]还有,我明白了,所以我会在输入中键入不带逗号的
230
?不,你总是需要逗号,因为这是你要拆分的值。你会在输入中键入2,30,拆分输入,然后键入datetime.time(int(time\u input[0]),int(time\u input[1])那么,如何将三个
time\u input
s转换为两个值?例如,小时和分钟?在这种情况下,您需要在输入函数中指定不同的格式,然后只使用索引[0]和[1]在datetime.time函数中,因为您现在只有两个元素。它是相同的,但这次只有两个参数,您不需要时间输入[2]还有,我明白了,所以我会在输入中键入不带逗号的
230
?不,你总是需要逗号,因为这是你要拆分的值。你会在输入中键入2,30,拆分输入,然后键入datetime.time(int(time\u input[0]),int(time\u input[1])所以,只要用这个替换
start
行,它就可以工作了?它会做我认为你想让它做的事情。因此,如果你输入提示“5,30,20”,它会创建一个tim
##When do you want your alarm to go off? 
##Insert your time. (Format: Hour, Minute)8, 50, 30
##If you don't turn it off when it goes off, when do you want it to stop? 9, 00, 00