• Python【每日一问】21


    问:

    【基础题】输入某年某月某日,判断这一天是这一年的第几天?

    【提高题】用 *号输出字母 C的图案 

    答:

    【基础题】输入某年某月某日,判断这一天是这一年的第几天?

    方法1:

    import time
    
    test_time = input("请输入日期(年-月-日):")
    time_struct = time.strptime(test_time, "%Y-%m-%d")
    time_year = time_struct.tm_year
    time_yday = time_struct.tm_yday
    print("{}是{}年这一年中的第{}天".format(test_time, time_year, time_yday))

    方法2:

    import datetime
    
    date_time = input("请输入日期(年-月-日):")
    datetime_struct = datetime.datetime.strptime(date_time, "%Y-%m-%d")
    time_year = datetime_struct.timetuple().tm_year
    time_yday = datetime_struct.timetuple().tm_yday
    print("{}是{}年这一年中的第{}天".format(date_time, time_year, time_yday))

     方法3:

    def get_daynum():
        year = input("请输入年份:")
        month = input("请输入月份:")
        day = input("请输入天:")
        date1 = datetime.date(year=int(year), month=int(month), day=int(day))
        date2 = datetime.date(year=int(year), month=1, day=1)
        return ((date1 - date2).days + 1)
    
    
    if __name__ == '__main__':
        print(get_daynum())

    【提高题】用 *号输出字母 C的图案 

    方法1:

    print("    *****   ")
    print("   **    *  ")
    print("  **       ")
    print("  **       ")
    print("   **    *  ")
    print("    *****   ")

    方法2:

    ch = [[0, 1, 1, 0],
          [1, 0, 0, 1],
          [1, 0, 0, 0],
          [1, 0, 0, 0],
          [1, 0, 0, 1],
          [0, 1, 1, 0]]
    
    for i in range(len(ch)):
        for j in ch[i]:
            if j == 0:
                print(" ",end="")
            else:
                print("*", end=" ")
    
        print()

    输出结果:

    方法3:

    from PIL import Image,ImageDraw,ImageFont
    import numpy as np
    
    text = "C"
    myfont = ImageFont.truetype("msyh.ttc", 12)  # 在代码所在目录下需要放置字体文件,此处为msyh.tcc
    size = myfont.getsize(text)
    img = Image.new("1", size, "black")
    draw = ImageDraw.Draw(img)
    draw.text((0,0), text, "white", font=myfont)
    pixels = np.array(img, dtype=np.uint8)
    chars = np.array([' ', '*'], dtype="U1")[pixels]
    strings = chars.view('U' + str(chars.shape[1])).flatten()
    print("
    ".join(strings))

    输出结果:

  • 相关阅读:
    IP地址分类(A类 B类 C类 D类 E类)
    操作系统实六(页面置换算法之LRU)
    操作系统实验五(内存管理之动态分区分配(首次适应))
    操作系统实验四(内存管理之固定分区分配)
    CRT连接虚拟机中的linux系统(ubuntu)
    3种拨打电话的方式
    深度:ARC会导致的内存泄露
    iOS7.1Https企业证书发布方法
    iOS开发学习路线图
    iOS实例下载:使用腾讯的SDK将新浪微薄嵌入到应用中
  • 原文地址:https://www.cnblogs.com/ElegantSmile/p/10842793.html
Copyright © 2020-2023  润新知