【发布时间】:2014-12-14 17:26:53
【问题描述】:
我正在尝试定义一个名为 inTheFuture() 的函数,该函数接受给定的年份编号、月份编号和日期编号作为 3 个单独的参数。该函数应返回一个布尔值(True 或 False)以指示日期(年、月和日)参数是否在未来。
这是我不断收到的错误消息:
TypeError: float() argument must be a string or a number, not 'tuple'
我尝试过转换float、string、int,我只是不知所措。
这是我的代码:
import sys
import datetime
year= input ("Enter Year: ");
month= int(input ("Enter Month: "));
day= int(input ("Enter Day: "));
def getTodaysDate():
return datetime.datetime.today();
today = getTodaysDate();
def inTheFuture():
ymd=(year,month,day)
if float(ymd)>today:
return true
if float(ymd)<today:
return false
inf = inTheFuture();
【问题讨论】:
-
你期望
float在传递一组三个数字时返回什么? -
"我试过转换浮点数、字符串、整数" - 为什么?你想用“转换”来完成什么?当你在没有转换的情况下尝试它时,你到底得到了什么错误(我假设你首先尝试了这个,如果你在沮丧地尝试所有其他事情)?你对这个问题的理解是什么?
-
有点沮丧和使用 google 的误导性信息。我明白我现在不能这样做。多亏了你和 Korem,我现在正朝着正确的方向前进。 :)
-
顺便说一句,我有唯一的理由;是因为我的老师正试图让我们这样做,因为大多数语言都要求你这样做。他只是想让我们养成使用它们的习惯。
标签: python date datetime boolean