在Python中以逻辑方式计算人的年龄而不使用内置函数

0 投票
3 回答
695 浏览
提问于 2025-04-18 10:37
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)

以此类推。

撰写回答