IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python:打印日历验证信用卡号是否合法 -> 正文阅读

[Python知识库]Python:打印日历验证信用卡号是否合法

作者:treeSkill

Python语言基础-2.5函数基础(理)

第5关:函数综合实训-打印日历

本关任务:利用函数的知识完成如下习题:

1、编写判断信用卡号是否合法的判断程序。

2、编写函数模块,打印日历程序

第1题

信用卡号是否合法的判断规则为: a) 对给定的8位信用卡号码,如43589795,从最右边数字开始,隔一位取一个数相加,如5+7+8+3=23。 b) 将卡号中未出现在第一步中的每个数字乘2,然后将相乘的结果的每位数字相加。例如,对上述例子,未出现在第一步中的数字乘2后分别为(从右至左)1818108,则将所有数字相加为1+8+1+8+1+0+8=27。 c) 将上述两步得到的数字相加,如果得数个位为0,则输入的信用卡号是有效的。

请在指定位置完成函数的编写,判断用户输入的8位信用卡号码是否合法。

第2题

在指定位置完成函数编写,根据年和月,打印该月的日历。(计算y年m月d日是星期几的公式为:

,

试题中已定义了三个函数,请完成这三个函数, 函数day用于计算并返回某年某月某日是星期几; 函数isLeapYear用于判断某年是否是闰年; 函数calendar打印所给年月的日历,注意输出格式要求和空格的对齐,如下图所示,具体的空格数请参见本题代码。

?

代码如下:

# -*- coding: utf-8 -*-
"""
Created on Fri Apr  9 12:40:28 2021

@author: hzh
"""
#1题 :信用卡的验证程序
def validCreditCard(num):
    #请在下面编写代码
    # ********** Begin ********** #
    numb=str(num)
    s=[]
    for k in numb:
        s+=[int(k)]
    s1=sum(s[::-2])
    s2=s[-2::-2]
    ss=0
    for i in s2:
        j=i*2
        if j-10>=0:
            ss+=j//10+j-10
        else:
            ss+=j
    jud=s1+ss
    if str(jud)[-1]=='0':
        valid=True
    else:
        valid=False
    # ********** End ********** #
    return valid    
    #请不要修改下面的代码
for num in [1234567, 43589795, 87539319, 123456789]:
    valid = validCreditCard(num)
    print(valid)
print('*'*20) 



#2题:打印日历

def day(y, m, d):#计算y年m月d日是星期几
    # 请在下面编写代码
    # ********** Begin ********** #
    y0=y-(14-m)//12
    x=y0+y0//4-y0//100+y0//400
    m0=m+12*((14-m)//12)-2
    d0=(d+x+(31*m0)//12)%7
    
    # ********** End ********** #    
    # 请不要修改下面的代码
    return d0

def isLeapYear(year): #判断year年是否闰年
    # 请在下面编写代码
    # ********** Begin ********** #
    if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
        isLeapYear=1
    else:
        isLeapYear=0
    # ********** End ********** #    
    # 请不要修改下面的代码
    return isLeapYear

def calendar(y, m): #打印y年m月日历
    print('       {}年{}月'.format(y,m))
    print('Su\tM\tTu\tW\tTh\tF\tSa')
    # 请在下面编写代码调用函数计算y年m月1日是星期几保存在变量date中
    # ********** Begin ********** #
    date=day(y,m,1)
    # ********** End ********** #

    days = 0  #初始化y年m月的天数为0
    # 请在下面编写代码计算y年m月的天数
    # ********** Begin ********** #
    if m in [1,3,5,7,8,10,12]:
        days=31
    elif m in [4,6,9,11]:
        days=30
    elif m==2:
        if isLeapYear(y):
            days=29
        else:
            days=28
    else:
        pass
    # ********** End ********** # 
    count = date  # y年m月1日是星期几
    for i in range(date):
        print('\t', end='')
    for d in range(1, days + 1):
        print(str(d) + '\t', end="")
        count = (count + 1) % 7
        if count == 0:
            print()
    print()
   
    # 请不要修改下面的代码 
for (y,m) in [(2017,8), (2017,10),(2015,8), (2017,2), (2016,2)]:
        calendar(y, m)
        print('-'*27)

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-11-11 12:39:47  更:2021-11-11 12:40:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 22:54:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码