《python语言程序设计》2018版第8章第14题金融:信用卡号合法性 利用6.29题

请添加图片描述

一、之前6.29题我做的代码

这是用数字来进行分辨的

is_txt = 4383576018402626 #合法def split_the_data_even(vis_n):current_a1 = vis_n // 10000a_t1 = vis_n % 10000# print("1th", a_t1)a_t2 = current_a1 % 10000# print("2th", a_t2)current_a3 = current_a1 // 10000a_t3 = current_a3 % 10000# print("3th", a_t3)a_t4 = current_a3 // 10000# print("4th", a_t4)even1 = a_t1 % 10even2 = a_t1 // 100 % 10even3 = a_t2 % 10even4 = a_t2 // 100 % 10even5 = a_t3 % 10even6 = a_t3 // 100 % 10even7 = a_t4 % 10even8 = a_t4 // 100 % 10return even1, even2, even3, even4, even5, even6, even7, even8# 奇数
def split_the_data_odd(vis_n):current_a1 = vis_n // 10000a_t1 = vis_n % 10000# print("1th", a_t1)a_t2 = current_a1 % 10000# print("2th", a_t2)current_a3 = current_a1 // 10000a_t3 = current_a3 % 10000# print("3th", a_t3)a_t4 = current_a3 // 10000# print("4th", a_t4)odd1 = a_t1 // 10 % 10odd2 = a_t1 // 100 // 10#odd3 = a_t2 // 10 % 10odd4 = a_t2 // 100 // 10#odd5 = a_t3 // 10 % 10odd6 = a_t3 // 100 // 10#odd7 = a_t4 // 10 % 10odd8 = a_t4 // 100 // 10return odd1, odd2, odd3, odd4, odd5, odd6, odd7, odd8def mult_num_odd(int_num, m_num):a = int_num * m_numif a >= 10:div_a1 = a // 10div_a2 = a % 10return div_a1 + div_a2elif a == 0:return aelse:return adef odd_add(visa_txt):a_text = split_the_data_odd(visa_txt)temp_text = 0for i in a_text:temp_text += mult_num_odd(i, 2)return temp_textdef even_add(visa_txt):even_text = split_the_data_even(visa_txt)temp_text = 0for i in even_text:temp_text += ireturn temp_textdef is_valid(visa_text):a = odd_add(visa_text) + even_add(visa_text)if a % 10 == 0:print(f"This visa code {visa_text} is valid!")else:print(f"This visa code {visa_text} is not valid!")print("Sorry! again input, or call worker!")print(a)is_valid(vis_txt)

请添加图片描述
顺便说一句驼峰在win系统里还好使,到mac的python就一顿贬低的报错.

二、本题是用字符串来做,原谅我,我有暗自骂了作者

也就是说我将数字变成字符串.那么我就不能用整除、除于,只能用字符串和循环来完成

2024.09.06
我现在不明白这个大哥到底什么意思??
字符串不能加减乘除呀。字符串更不能进行什么换算。
我到底要验证什么呢
通过字符串验证什么呢

2024.9.9
应急局不知道哪天来抽查, 我还有19日到20日的全天培训,
真的和我此时的代码一样.
停了这么久,今天突然想开了.
将整数转成字符串,然后再识别会数字.但是用循环就比较 失败了.

def if_digit(num):if num == "0":return 0elif num == "1":return 1elif num == "2":return 2elif num == "3":return 3elif num == "4":return 4elif num == "5":return 5elif num == "6":return 6elif num == "7":return 7elif num == "8":return 8elif num == "8":return 8elif num == "9":return 9def run_text(num_t,text_about):for i in range(0, num_t):return if_digit(text_about[i])a = run_text(len_num,str_vis_text)
print(a)

这段代码只显示4.
我就不截图了
如果你只输出可以得到数列但是往往不能计算了

for i in range(0, num_t):return if_digit(text_about[i])

如果不用光用 循环可以显示整个数列,但是还不能当成一个完整的整数列,来用.
终于我忍不住换了使用python的保留名字之一的
isalnum()这哥们有点敌我不分
isdigit()还是它比较好


if str_vis_text.isdigit() is False:print("This str word is worry!")
else:text_to_integer = int(str_vis_text)is_valid(text_to_integer)

成功了.if代表 如果字符串里有字母.则返回真
else:代表如返回否,则开始将字符串变沉整数序列,然后放到直接做好的函数is_valid

请添加图片描述

请添加图片描述

请添加图片描述
请添加图片描述

两个结果,两种效果.明天顺利

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/879140.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python设计模式实战:开启软件设计的精进之旅

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…

python绘制3D瀑布图

成品: 代码: def line_3d(x, y, z, x_label_indexs):"""在y轴的每个点,向x轴的方向延伸出一个折线面:展示每个变量的时序变化。x: x轴,时间维,右边。y: y轴,变量维,…

《OpenCV计算机视觉》—— 图像形态学(腐蚀、膨胀等)

文章目录 一、图像形态学基本概念二、基本运算1.简单介绍2.代码实现 三、高级运算1.简单介绍2.代码实现 一、图像形态学基本概念 图像形态学是图像处理科学的一个独立分支,它基于集合论和数学形态学的理论,专门用于分析和处理图像中的形状和结构。图像形…

linux学习之线程2:线程控制与使用

铺垫 之前我们提到,Linux不直接对线程进行调度,而是对轻量级进程进行调度。但用户就想像Windows那样直接对线程进程控制。所以,就有了pthread库来封装了一层。 那么想要进行线程控制,要用pthread库。(pthread库是原生…

Spire.PDF for .NET【文档操作】演示:创比较 PDF 文档

PDF 已成为跨不同平台共享和保存文档的标准格式,在专业和个人环境中都发挥着无处不在的作用。但是,创建高质量的 PDF 文档需要多次检查和修订。在这种情况下,了解如何有效地比较 PDF 文件并找出它们的差异变得至关重要,这使文档编…

《Python编程:从入门到实践》外星人入侵

一、规划 在游戏《外星人入侵》中,玩家控制着一艘最初出现在屏幕底部中央的飞船。玩家可以使用箭头键左右移动飞船,还可使用空格键进行射击。游戏开始时,一群外星人出现在天空中,他们在屏 幕中向下移动。玩家的任务是射杀这些外星…

潘多拉的盒子还是阿拉丁的神灯:揭示RAG噪声在大语言模型中的作用

一、结论写在前面 论文来自清华大学、北京国家信息科学与技术研究中心 论文标题:Pandora’s Box or Aladdin’s Lamp: A Comprehensive Analysis Revealing the Role of RAG Noise in Large Language Models 论文链接:https://arxiv.org/pdf/2408.135…

【包教包会】CocosCreator3.x拖尾MotionStreak威力加强版(支持3.x、支持原生、可合批)

将去年写的2.x拖尾升级到3.x 完美适配Web、原生平台(其余平台没测过)。 保留原版功能(拖尾会跟随节点位移、缩放、受节点透明度影响,但不会跟随节点旋转) 支持世界坐标 / 本地坐标切换(至于为什么需要这…

[论文笔记]LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale

引言 今天带来第一篇量化论文LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale笔记。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 大语言模型已被广泛采用,但推理时需要大量的GPU内…

2024年智能录屏解决方案全攻略,从桌面到云端

如果你有过录屏经验那你一定遇到过被限制录制时长或者录制的画面比较模糊之类的情况。这次我我推荐几款免费录屏软件,让我们可以更自由的录制屏幕画面。 1.福晰REC大师 链接:www.foxitsoftware.cn/REC/ 这款软件便捷好操作,而且符合我这次…

post请求中有[]报400异常

序言 在和前端同学联调的时候,发现只要post请求参数里面有[],就会报400的错误 可以看到日志中: The valid characters are defined in RFC 7230 and RFC 3986 解决办法: 参考了博客: spring boot 中解决post请求中有…

辽宁汇聚公益慈善力量,绿葆网络助力辽宁绿色生态建设,彰显企业大爱

9月5日,于辽宁省沈阳市隆重举行的“中华慈善日”主题宣传活动暨“山海有情 天辽地宁”即开型福利彩票发行、“生态公益林”项目启动仪式上,广州绿葆网络发展有限公司作为受邀企业之一,积极履行社会责任,向辽宁省慈善联合总会捐赠了…

Linxu系统:kill命令

1、命令详解: kill命令是用于向进程发送信号,通常用来终止某个指定PID服务进程,kill命令可以发送不同的信号给目标进程,来实现不同的操作,如果不指定信号,默认会发送 TERM 信号(15)&…

[论文笔记]Making Large Language Models A Better Foundation For Dense Retrieval

引言 今天带来北京智源研究院(BAAI)团队带来的一篇关于如何微调LLM变成密集检索器的论文笔记——Making Large Language Models A Better Foundation For Dense Retrieval。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们&quo…

Deploying Spring Boot Apps Tips

Java PaaS providers chatter command Efficient deployments See also spring-boot-reference.pdf https://docs.spring.io/spring-framework/reference/integration/checkpoint-restore.html

【拓扑系列】拓扑排序

【拓扑系列】拓扑排序 前言认识有向无环图认识AOV网:顶点活动图拓扑排序 1. 课程表1.1 题目来源1.2 题目描述1.3 题目解析 2. 课程表 II2.1 题目来源2.2 题目描述2.3 题目解析 3. LCR 114. 火星词典3.1 题目来源3.2 题目描述3.3 题目解析 前言 认识有向无环图 图中…

【局域网投屏】sunshine和moonlight投屏/屏幕共享/扩展屏

主机是sunshine,客机是moonlight,一个太阳一个月光,两者真是太配啦! 下载sunshine sunshine是服务器端,去以下GitHub链接下载windows端的解压缩即用版 https://github.com/LizardByte/Sunshine/releases下载完毕解压…

基于Logistic-Map混沌序列的数字信息加解密算法matlab仿真,支持对文字,灰度图,彩色图,语音进行加解密

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于Logistic-Map混沌序列的数字信息加解密算法matlab仿真,系统包含GUI操作界面,系统支持对文字,灰度图,彩色图,语音进行加解密。 2.测试软件版本以及…

【银河麒麟高级服务器操作系统】虚拟机服务器执行systemctl提示timeout——分析全过程及处理建议

了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:https://product.kylinos.cn 开发者专区:https://developer.kylinos.cn 文档中心:https://documentkylinos.cn 现象描述 产品信息 产品名称 银河麒麟高级服务…