簡體   English   中英

python 如何同時計算年齡和姓名 function

[英]python how to calculate age and name in one function

from datetime import date

def date_person():

    name = input('Enter your name and press ENTER')
    surname =input ('Enter your surname and press ENTER')
    birth_year= input('Enter your birth_year and press ENTER')
    
    name_list=name.split()
    surname_list=surname.split()
    
    print(name_list, surname_list, birth_year)
    first = name[1][0]
    second = surname[1][0]
    days_in_year = 365.2425 
    age= int((date.today())- birth_year).days/days_in_year

    print(name)
    print(surname)
    print(birth_year)
    print("your initial:", first.upper(),'.',second.upper(),'.', "and your age:",  age )
  
date_person()

我對日期時間有誤。 怎么了?

TypeError: unsupported operand type(s) for -: 'datetime.date' and 'str'

嘗試將您的birth_year 轉換為日期 object:

birth_year= int(input('Enter your birth_year and press ENTER'))
birth_year_date = date(birth_year, 1, 1)

那么日期之間的 calc diff 將返回一個 datetime.timeDelta object,現在您可以獲取 days 屬性:

age= int((date.today() - birth_year_date).days/days_in_year)

你應該確定birth_year 類型是int,為了解決這個問題使用

正確的出生年份 = int(出生年份)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM