在Python中以逻辑方式计算人的年龄而不使用内置函数
date=raw_input("Enter Date:")
month=raw_input("Enter Month:")
day=raw_input("Enter day:")
date1=raw_input("Enter Date:")
month1=raw_input("Enter Month:")
day1=raw_input("Enter day:")
int(date,month)
int(date1,month1)
int(day,day1)
d=date1-date
m=month1-month
da=day1-day
print d,m,da
我在尝试这个程序,但出现了一个错误:需要一个整数。
3 个回答
0
从主题“用逻辑方式在Python中计算一个人的年龄,而不使用内置函数”来看,解决方案的方法其实不太对,因为如果不使用内置模块的话,效果会不好。
方法:首先你需要获取当前日期,然后获取这个人的出生日期,最后计算这两个日期之间的差距。这个差距可以通过多种方式来得到。
1) 使用内置的datetime模块和time模块(推荐的方法)。
import datetime
now = datetime.date.today()
currentyr = now.year
否则
2) 使用字符串的方法——你采用的方式也能得到想要的结果。
不过,错误的原因在于int()函数是把以字符串形式表示的数字转换成整数,而raw_input()返回的就是一个字符串。
1
也许你想要的是这样的。
date=raw_input("Enter Date:")
month=raw_input("Enter Month:")
day=raw_input("Enter day:")
date1=raw_input("Enter Date:")
month1=raw_input("Enter Month:")
day1=raw_input("Enter day:")
date = int(date)
month = int(month)
date1 = int(date1)
month1 = int(month1)
day = int(day)
day1 = int(day1)
d=date1-date
m=month1-month
da=day1-day
print d,m,da
2
int()
这个函数不是那样工作的:
- 首先,它只接受一个参数(第二个参数是可选的,用来指定进制,但在你的情况下不相关)。
- 其次,你需要把结果赋值给一个变量。
所以
int(date,month)
应该是
date = int(date)
month = int(month)
以此类推。