《python语言程序设计》2018版第8章第15题商业:检测ISBN-10一个国际标准书号

news2024/9/21 14:44:26

请添加图片描述
这个作者一天净出幺蛾子.我这边还老打错字,我现在都不敢用缩写,都是全拼

str_vis_text = "013601267"
len_num = len(str_vis_text)



def run_text(num_t, text_about):
    text_sum = 0
    for i in range(0, num_t):
        text_sum +=if_digit(text_about[i])*(i+1)
    print(text_sum%11)
    print(text_sum)

run_text(len_num, str_vis_text)


用excel计算的结果.

请添加图片描述

用python计算的结果请添加图片描述

那么我直接把text_sum % 11变成运行代码不就成功了吗???
请添加图片描述
not all arguments converted during string formatting请添加图片描述

差哪里呢??
天呐,我犯了一个问题
哈哈哈
应该是text_sum %11 可我写成了text_about % 11

修改后成功

def run_text(num_t, text_about):
    text_sum = 0
    for i in range(0, num_t):
        text_sum += if_digit(text_about[i]) * (i + 1)
    return text_sum % 11


a = str(run_text(len_num, str_vis_text))

print(str_vis_text + a)

请添加图片描述

结下来加个识别x的语句

最后成功的代码

def run_text(num_t, text_about):
    text_sum = 0
    for i in range(0, num_t):
        text_sum += if_digit(text_about[i]) * (i + 1)
    #这段代码不要放入到for循环里,注意缩紧
    if text_sum % 11 == 10:
        return "X"
    else:
        return text_sum % 11


a = str(run_text(len_num, str_vis_text))

print(str_vis_text + a)

请添加图片描述

str_vis_text = input("Enter the first 9 digits of an ISBN-10 as a string: ")
str_vis_text = "013601267"
str_vis_text = "013031997"

这3个名字大家自己选吧

忘了加if_digit的代码了



def if_digit(num):
    if num == "0":
        return 0
    elif num == "1":
        return 1
    elif num == "2":
        return 2
    elif num == "3":
        return 3
    elif num == "4":
        return 4
    elif num == "5":
        return 5
    elif num == "6":
        return 6
    elif num == "7":
        return 7
    elif num == "8":
        return 8
    elif num == "8":
        return 8
    elif num == "9":
        return 9

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

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

相关文章

Python框架Pandas:DataFrame的应用

一、DataFrame DataFrame是什么? 1.1 DataFrame的创建 1.1.1 方式一:使用字典加列表创建df,使用默认自增索引 import pandas as pd # 使用字典加列表创建df,使用默认自增索引 df1_data {日期:[2021-08-21,2021-08-22,2021-0…

应用连接错误,初始化mysql数据库恢复---惜分飞

有人在部署一个新网站的时候,写错了配置信息,直接导致原有数据库被清掉,并创建了新库和写入了数据(其实本质就是drop table恢复) 登录操作系统查看,发现数据库文件在根分区,创建了新库,写入了数据之外,还有几个G的binlog.全部恢复不太可能,最后客户决定需要恢复的2个核心表数…

如何将写好的Java代码打成jar包放在hadoops上运行

1、打包java文件 2、jar包上传,hadoop执行 我们将打好的jar包上传到Linux,因为hadoop是安装在Linux上的,然后用hadoop执行,执行前要确保已经在Linux上配置了hadoop的环境变量,不然就要到hadoop的目录下执行该命令 执…

记一次Hiveserver2连接异常的解决-腾讯云-emr

原文阅读:【巨人肩膀社区博客分享】记一次Hiveserver2连接异常的解决-腾讯云-emr 离线任务跑的好好的,忽然有一天失败了,查看海豚上的任务执行日志发现是hiveserver2连接超时了。 查看监控发现了几个问题一个是GC变得频繁,另一个…

Mac电脑剪切板在哪里找 苹果电脑剪切板打开教程【详解】

Windows 和 Mac 电脑在使用方式上存在一些差异,许多习惯了 Windows 系统的用户初次接触 Mac 时可能会对某些操作感到困惑。比如,很多人会问:Mac 上的剪贴板在哪里?如果你也有这样的疑问,不妨看看下面这篇关于如何在 Ma…

redis 基本数据类型—string类型

一、介绍 Redis 中的字符串,直接就是按照二进制数据的方式存储的,不会做任何的编码转换。 Redis对于 string 类型,限制了大小最大是512M 二、命令 SET 将 string 类型的 value 设置到 key 中。如果 key 之前存在,则覆盖&#…

系统架构设计师|关于系统架构-002

📫 作者简介:「六月暴雪飞梨花」,专注于研究Java,就职于科技型公司后端工程师 🏆 近期荣誉:华为云云享专家、阿里云专家博主、腾讯云优秀创作者、腾讯云TDP-KOL、ACDU成员、墨天轮技术专家博主 &#x1f52…

DBeaver 24.2 发布下载,新增功能概览

DBeaver Ultimate Edtion 24.2 Multilingual (macOS, Linux, Windows) - 通用数据库工具 One tool for all data sources 请访问原文链接:https://sysin.org/blog/dbeaver/,查看最新版。原创作品,转载请保留出处。 作者主页:sy…

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

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

Linux高级查找、过滤

find 在指定目录下查找文件和目录 基本语法:find [路径] [ 参数] [查找条件] 常用参数 -name 根据文件或目录的名称查找 find /path -name test.txt-iname 与name类似,但忽略大小写-size 根据文件大小查找 find /path -size 10M-user 根据文…

HS光流法原理与实现

1. 前言 人眼观察到物体运动时,物体会在视网膜平面上形成一系列连续变化的图像“流过”视网膜,好像一种光的“流”,所以被称为光流。 光流基于像素点定义,所有光流的集合称为光流场。通过对光流场分析,可以得到物体相对于观察者的运动信息。计算光流场的方法有很多,常见的…

Java中的类型转换 Day4

类型转换 类型转换总结来说就是:自动提升 手动下降 3.1 自动类型转换 自动类型转换需要满足的要求 两种类型相互兼容 例:int类型的取值范围包含了short类型的取值范围 目标类型大于源类型 目标类型的取值范围(等号左边)大于源…

debug对于开发工程师很重要

在日常开发中,总会遇到一些出人意料的bug,程序跑飞,上电就挂,程序没有按预期执行诸如此类的问题,没有好的调试方法,真的很难定位问题,更别说解决了。在这里分享我用过的一些调试方法&#xff0c…

欧几里得算法求最大公约数

两个不全为0的非负整数m,n的最大公约数记为gcd(m,n),代表能够整除(即余数为0)m和n的最大正整数。 计算gcd(m,n)的欧几里得算法: 第一步&#xf…

初识爬虫2

requests学习(未更新完): 小技巧,如果你用的也是pycharm,对于控制台输出页面因为数据很长一行,不方便进行查看, 可以让它自动换行: 1.requests文档阅读学习链接:快速上…

linux 脱机

先安装 screen apt-get install screen

【网络】网络通信的传输方式

目录 1.网络通信中的两种基本通信模式 1.1.怎么理解连接 1.2.面向有连接类型 1.3.面向无连接类型 2.实现这两种通信模式的具体交换技术 2.1.电路交换 2.2.分组交换 3.根据接收端数量分类 单播(Unicast) 广播(Broadcast) …

8、值、指针、引用作为参数或返回值

一、作为参数 1、值传递 #include <iostream> using namespace std;void swap(int a, int b) {cout << __FUNCTION__ << "交换前a:" << a << " b:" << b << endl;int tmp a;a b;b tmp;cout << __FUN…

98.游戏的启动与多开-分析与实现多开器

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a;易道云信息技术研究院 上一个内容&#xff1a;97.游戏的启动与多开-共享内存多开检测 以 97.游戏的启动与多开-共享内存多开检测 它的…

若依框架开发

若依环境 介绍 ‌若依是一款快速开发平台(低代码)&#xff0c;用于快速构建企业级后台管理系统&#xff0c;它提供了许多常用的功能模块和组件&#xff0c;包括权限管理、代码生成、工作流、消息中心等 官方地址: https://www.ruoyi.vip/ ‌基于Spring Boot和Spring Cloud‌…