1. 程式人生 > >程序控制結構--案例

程序控制結構--案例

may ebr 之前 對象 判斷 python second mon loaded

精彩案例

  • 輸入若幹個成績,求所有成績的平均值分,每輸入一個成績後詢問是否繼續輸入下一個成績,回答yes就繼續輸入下一個成績,回答no就停止輸入成績

    scores = []
    while True:
    x = input(‘請輸入第{0}個成績:‘.format(len(scores)+1))
    try:
    scores.append(float(x))
    except:
    print(‘非法數據!‘)
    while True:
    flag = input(‘繼續輸入嗎?(yes/no)‘)
    if flag.lower() not in (‘yes‘,‘no‘):
    print(‘只能輸入yes或no‘)
    else:
    break
    if flag == ‘no‘:
    break
    print(‘一共輸入{0}個成績,其平均成績為:{1}‘.format(len(scores),sum(scores)/len(scores)))
  • 編寫程序,判斷今天是今年的第幾天

    import time
    date = time.localtime()
    print(date)
    year, month, day = date[:3]
    print(year, month, day)
    day_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    if year % 400 == 0 or (year % 4 == 0 and year % 100 != 0): # 判斷是否為閏年
    day_month[1] = 29
    if month == 1:
    print(day)
    else:
    print(sum(day_month[:month-1]) + day)

    Python標準庫datetime提供了datetime和timedelta對象可以很方便地計算指定年月日時分秒之前或之後的日期時間,還提供了返回結果中包含“今天是今年第幾天”"今天是本周第幾天"等答案的timetuple()函數,等待

    import datetime
    from datetime import date
    today = datetime.date.today()
    print(today)
    day = today.timetuple().tm_yday
    today = today.replace(year=2018)
    print(today)
    today = today.replace(month=5)
    print(today)
    today = today.replace(day=26)
    print(today)
    now = datetime.datetime.now()
    print(now)
    now = now.replace(second=39)
    print(now)
    now = now + datetime.timedelta(days=5)
    print(now)
    now = now + datetime.timedelta(weeks=-5)
    print(now)
    # 計算兩個日期之間相差多少天
    dif = date(year=2019, month=3, day=3) - date(year=2018, month=9, day=23)
    print(dif.days)
    ?
    # 運行結果
    2019-03-03
    2018-03-03
    2018-05-03
    2018-05-26
    2019-03-03 13:14:20.203989
    2019-03-03 13:14:39.203989
    2019-03-08 13:14:39.203989
    2019-02-01 13:14:39.203989
    161

    標準庫calendar也提供了一些與日期操作有關的方法

    import calendar
    cal = calendar.calendar(2019)
    print(cal)
    cal_month = calendar.month(2019, 3)
    print(cal_month)
    # 判斷是否為閏年
    flag = calendar.isleap(2016)
    print(flag)
    flag = calendar.isleap(2019)
    print(flag)
    # 查看指定日期是周幾
    print(calendar.weekday(2019, 3, 3))
    ?
    # 執行結果
    2019
    ?
    January February March
    Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
    1 2 3 4 5 6 1 2 3 1 2 3
    7 8 9 10 11 12 13 4 5 6 7 8 9 10 4 5 6 7 8 9 10
    14 15 16 17 18 19 20 11 12 13 14 15 16 17 11 12 13 14 15 16 17
    21 22 23 24 25 26 27 18 19 20 21 22 23 24 18 19 20 21 22 23 24
    28 29 30 31 25 26 27 28 25 26 27 28 29 30 31
    ?
    April May June
    Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su 1 2 3 4 5 6 7 1 2 3 4 5 1 2 8 9 10 11 12 13 14 6 7 8 9 10 11 12 3 4 5 6 7 8 915 16 17 18 19 20 21 13 14 15 16 17 18 19 10 11 12 13 14 15 1622 23 24 25 26 27 28 20 21 22 23 24 25 26 17 18 19 20 21 22 2329 30 27 28 29 30 31 24 25 26 27 28 29 30? July August SeptemberMo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su 1 2 3 4 5 6 7 1 2 3 4 1 8 9 10 11 12 13 14 5 6 7 8 9 10 11 2 3 4 5 6 7 815 16 17 18 19 20 21 12 13 14 15 16 17 18 9 10 11 12 13 14 1522 23 24 25 26 27 28 19 20 21 22 23 24 25 16 17 18 19 20 21 2229 30 31 26 27 28 29 30 31 23 24 25 26 27 28 29 30? October November DecemberMo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su 1 2 3 4 5 6 1 2 3 1 7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 814 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 12 13 14 1521 22 23 24 25 26 27 18 19 20 21 22 23 24 16 17 18 19 20 21 2228 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29 30 31? March 2019Mo Tu We Th Fr Sa Su 1 2 3 4 5 6 7 8 9 1011 12 13 14 15 16 1718 19 20 21 22 23 2425 26 27 28 29 30 31?TrueFalse6

程序控制結構--案例