Python习题week2

知识点总结:

1.去除数字前面的零

Num = int(input("请输入正整数:"))

2. 矩阵方式输入处理

# 输入方法3 按矩阵形式输入
list_juzhen = []
for i in range(3):input_str = input()input_list = input_str.split(" ")list_juzhen.append(input_list)
# 输入方法2 按空格键隔开 输入9个数
# Str = input()
# list_str = Str.split(" ")
# list_str1 = np.array(list_str)
# 输入方法1 换行隔个输入
# list_juzhen = []
# for i in range(n):
#     list_x = []
#     for j in range(n):
#         m = int(input())
#         list_x.append(m)
#     list_juzhen.append(list_x)

1. 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。

fenZi = 1
fenMu = 2
num = int(input("请输入系列个数:"))
array_list = []
array_fenZi = []
array_fenMu = []
for i in range(num):array_fenMu.append(fenMu)array_fenZi.append(fenZi)array_list.append(fenZi/fenMu)old_fenMu = fenMufenMu = fenZi+old_fenMufenZi = old_fenMu
for i in range(num):print(array_fenZi[i],  end='')print("/", end='')print(array_fenMu[i], end='')if i != num-1:print(" + ", end='')
print("之和为:", sum(array_list))

看题错误:修改:

"""
File: 06分数之和.py
Author: chde_wang
Date: 2020-08-02 10:43:52
Description:
"""
fenMu = 1
fenZi = 2
num = int(input("请输入系列个数:"))
array_list = []
array_fenMu = []
array_fenZi = []
for i in range(num):array_fenZi.append(fenZi)array_fenMu.append(fenMu)array_list.append(fenZi/fenMu)old_fenMu = fenZifenZi = fenMu+old_fenMufenMu = old_fenMu
for i in range(num):print(array_fenZi[i],  end='')print("/", end='')print(array_fenMu[i], end='')if i != num-1:print(" + ", end='')
print("之和为:", sum(array_list))

 

2. 题目:求1+2!+3!+…+20!的和。

"""
File: 02阶乘求和.py
Author: chde_wang
Date: 2020-07-23 23:15:26
Description:
"""def func_jiecheng(n):if n == 1 or n == 2:return nelse:return n * func_jiecheng(n-1)n = int(input("请输入阶乘个数:"))
Sum = 0
for i in range(n):Sum += func_jiecheng(i+1)
print("和为:", Sum)

3. 题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

"""
File: 01求整数位数和逆序输出.py
Author: chde_wang
Date: 2020-07-23 22:54:58
Description:
"""
Num = int(input("请输入正整数:"))
list_Num = list(str(Num))
Sum = 0
if len(list_Num) > 5:print("请输入的数字超过5位数!")
else:# 逆序输出方法1for i in reversed(list_Num):print(i, end="")# 逆序输出方法2# for i in range(len(list_Num)-1, -1, -1):#     print(list_Num[i], end="")# 逆序方法输出3 列表下标逆序遍历# for i in list_Num[::-1]:#     print(i, end="")

 没有 做全:

try:Num = int(input("请输入正整数:"))list_Num = list(str(Num))Sum = 0if len(list_Num) > 5:print("请输入的数字超过5位数!")else:# 输出位数print("您输入整数的长度为:", len(list_Num))# 逆序输出方法1print("整数逆序输出结果为:", end="")for i in reversed(list_Num):print(i, end="")# 逆序输出方法2# for i in range(len(list_Num)-1, -1, -1):#     print(list_Num[i], end="")# 逆序方法输出3 列表下标逆序遍历# for i in list_Num[::-1]:#     print(i, end="")
except ValueError:print("您的输入有误!")

4. 题目:输入位数为奇位数的数字(例如:12321),判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同

numString = input("请输入数字:")
Sum = 0
# if len(numString) % 2 == 0:
#     print("您的输入不符合规则!")
# else:
for i in range(len(numString)//2):if numString[i] == numString[len(numString)-i-1]:Sum += 1
if len(numString) // 2 == Sum:print(numString, "是回文串!")
else:print(numString, "不是回文串!")

 5.题目:输入一个字符串,输入指定的分割字符,输出该字符串根据分割字符切分的列表。例如:输入的字符为:‘123fhfa264631321’,输入的分割字符为:‘2’,则输出为:[‘1’,‘3fhfa’,‘646313’,‘1’]

注:自行实现该功能,不要使用字符串的内置函数split!

"""
File: 03分割字符2.py
Author: chde_wang
Date: 2020-07-24 22:15:56
Description:
"""
# step1 输入提示
str_input = input("请输入需要分割的字符串:")
split_character = input("请输入分割字符:")
list_num = []
list_str = []
# step2 寻找分割字符所在字符串下标
for i in range(len(str_input)):if str_input[i] == split_character:list_num.append(i)
# step3 为下标字符串添加首尾下标
if 0 not in list_num:list_num.insert(0, 0)
if len(list_num) not in list_num:  # 123fg26461321  2342342  124442 ['1', '444', '']list_num.append(len(str_input))
print(list_num)
# step4 利用下标分割字符串
# step4.1 对于没有分割字符的字符串
if len(list_num) == 2:list_str.append(str_input[list_num[0]:list_num[-1]])
else:for i in range(len(list_num)):if i < len(list_num)-1:# step4.2 对于第二个字符为分割字符的字符串if list_num[i] == 0 and list_num[i+1] == 1:list_str.append(str_input[list_num[i]:list_num[i+1]])# step4.2 对于倒数第二个字符为分割字符的字符串elif list_num[i] == len(str_input)-1:pass# step4.3 其余情况else:m = list_num[i]+1n = list_num[i + 1]list_str.append(str_input[m:n])
print(list_str)

6.题目:求一个3*3矩阵主对角线元素之和。

"""
File: 04求对角线矩阵之和.py
Author: chde_wang
Date: 2020-07-24 23:45:55
Description:求3*3 矩阵对角线之和
"""
import numpy as np
print("请输入3*3矩阵:")
n = 3# 输入方法1 换行隔个输入
# list_juzhen = []
# for i in range(n):
#     list_x = []
#     for j in range(n):
#         m = int(input())
#         list_x.append(m)
#     list_juzhen.append(list_x)# 输入方法2 按空格键隔开 输入9个数
# Str = input()
# list_str = Str.split(" ")
# list_str1 = np.array(list_str)
# if len(list_str1) != 9:
#     print("您的输入不是9个数字")
# list_juzhen= list_str1.reshape(3, 3)# 输入方法3 按矩阵形式输入
list_juzhen = []
for i in range(3):input_str = input()input_list = input_str.split(" ")list_juzhen.append(input_list)Sum_zuo = 0
for i in range(n):for j in range(n):if i == j:Sum_zuo += int(list_juzhen[i][j])
Sum_you = 0
for i in range(n):for j in range(n):if i + j == n-1:Sum_you += int(list_juzhen[i][j])
print(Sum_you)
print("和为:", Sum_zuo+Sum_you)

主对角线不包括右边,右边为副对角线。修改为

 

# 输入方法3 按矩阵形式输入
list_juzhen = []
try:for i in range(n):input_str = input()input_list = input_str.split(" ")list_juzhen.append(input_list)Sum_zuo = 0for i in range(n):# 限制为3*3矩阵的条件if len(list_juzhen) == 9 and len(list_juzhen[i]) == 3:for j in range(n):if i == j:Sum_zuo += int(list_juzhen[i][j])else:print("您的输入不是3*3矩阵!")breakprint("和为:", Sum_zuo)
except ValueError:print("您的输入有误!")

7.题目:题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

"""
File: 05排序数组插数.py
Author: chde_wang
Date: 2020-07-26 19:04:21
Description:给已经拍好序的数组 插数
"""
print("请输入已经排好序的数组:", end="")
# list_num = []
# for n in list(input().split(" ")):
#     list_num.append(int(n))list_num = [int(n) for n in list(input().split(" "))]
insert_flag = True
print(list_num)
print("请输入需要插入的数字:")
num = int(input())
if list_num[0] > list_num[1]:  # 从大到小 最小的存不进去for i in range(len(list_num)):if list_num[i] <= num:list_num.insert(i, num)insert_flag = Falsebreakif insert_flag:list_num.insert(len(list_num), num)
else:for i in range(len(list_num)):   # 从小到大 最大的存不进去if list_num[i] >= num:list_num.insert(i, num)insert_flag = Falsebreakif insert_flag:list_num.insert(len(list_num), num)
print(list_num)

 

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

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

相关文章

74ls90设计十进制计数器电路图_PLC控制系统的设计与调试步骤你知多少?

作为电气工程技术人员我们在平时工作中常常要对PLC控制系统进行设计与调试&#xff0c;下面给各位朋友分享一下PLC控制系统的设计与调试步骤。PLC控制系统的设计与调试过程是这样的&#xff1b;第一点需要我们深入了解被控制系统。我们在设计前应该熟悉图样资料&#xff0c;并深…

python习题week3

1、从输入的字典中获取给定key的值&#xff0c; 实现函数&#xff1a;get_key_value(source_dict, key, index0)&#xff0c;source_dict指给定的字典&#xff0c;key指需要获取的key字段&#xff0c;index指的是需要获取相同key的第几个值&#xff0c;从0开始&#xff0c;默认…

python硬件_「大神器!」硬件的AI性能测试Python库发布

目前人工智能技术发展速度很快&#xff0c;也很吸引眼球。但是对于各种多如牛毛的方法&#xff0c;目前并米有一个可靠的精准的基准来衡量各项硬件在不同算法训练和推理的性能。现在&#xff0c;不用愁了。国外的一个哥们&#xff0c; Andrey Ignatov发布了一个python库。大家可…

Python random模块seed理解

想要在同一个程序中产生同一组随机数,需要在下一个函数设置一个相同的随机种子 random.seed(0)&#xff0c;其中的0是对应的随机数的种子&#xff0c;如果不设置这个值&#xff0c;则系统根据时间来自己选择这个值&#xff0c;此时每次生成的随机数因时间差异而不同 import …

python生成1到100的列表_python列表生成式与列表生成器的使用

列表生成式&#xff1a;会将所有的结果全部计算出来&#xff0c;把结果存放到内存中&#xff0c;如果列表中数据比较多&#xff0c;就会占用过多的内存空间&#xff0c;可能会导致MemoryError内存错误或者导致程序在运行时出现卡顿的情况 列表生成器&#xff1a;会创建一个列表…

python之异常处理

关于错误和异常 &#xff08;1&#xff09;概念&#xff1a;错误是无法通过其他代码进行处理问题&#xff0c;如语法错误和逻辑错误&#xff0c;语法错误是单词或格式等写错&#xff0c;只能根据系统提示去修改相应的代码&#xff0c;逻辑错误是代码实现功能的逻辑有问题&…

python图像质量评价_OpenCV图像质量评价的SSIM算法(图像相似度)

添加函数体。将SSIM函数添加至命名空间后。该函数主要功能是时哟功能ssim算法对两张图像进行比较&#xff0c;并将图像在各通道比较的结果以scalar形式返回。 Scalar getMSSIM(char * imagePatha,char * imagePathb) { Mat i1imread(imagePatha); Mat i2imread(imagePathb); co…

Python 装饰器理解

1、定义&#xff1a; &#xff08;1&#xff09;装饰器指的是为被装饰对象添加额外功能的工具/函数。 2、使用装饰器的意义&#xff08;原因&#xff09;&#xff1a; 如果我们已经上线了一个项目&#xff0c;我们需要修改某一个方法&#xff0c;但是我们不想修改方法的使用…

什么是python标识符_Python:标识符Identifier

什么是标识符&#xff1f; 标识符 (ldentifier) :是一个用来标识变量、函数、类、模块或其他对象的名称。 标识符规范 1&#xff09;标识符由字母、下划线和数字组成 2&#xff09;不能以数字开头 3&#xff09;区分大小写 4&#xff09;不能使用关键字 命名规则 1、见名知意。…

Python 可变参数*args和**kwargs

多个实参&#xff0c;放到一个元组里面,以*开头&#xff0c;可以传多个参数&#xff1b;**是形参中按照关键字传值把多余的传值以字典的方式呈现 *args&#xff1a;表示的就是将实参中按照位置传值&#xff0c;多出来的值都给args&#xff0c;且以元组的方式呈现&#xff0c; …

springboot security 权限校验_十二、SpringBoot 优雅的集成Spring Security

前言至于什么是Spring security &#xff0c;主要两个作用&#xff0c;用户认证和授权。即我们常说的&#xff0c;用户只有登录了才能进行其他操作&#xff0c;没有登录的话就重定向到登录界面。有的用户有权限执行某一操作&#xff0c;而有的用户不能执行则是授权。算是一个项…

python模块下载过程_常用的python模块及安装方法

bsddb3&#xff1a;BerkeleyDB的连接组件 Cheetah-1.0&#xff1a;我比较喜欢这个版本的cheetah cherrypy&#xff1a;一个WEB framework ctypes&#xff1a;用来调用动态链接库 DBUtils&#xff1a;数据库连接池 django&#xff1a;一个WEB framework docutils&#xff1a;用来…

python3 week4

1 实现四舍五入&#xff0c;禁止使用python内建函数。 func(soure_num, precise)&#xff0c;source_num为需要处理的数据&#xff0c;precise为需要保留的位数 """ File: 01四舍五入.py Author: chde_wang Date: 2020-08-09 12&#xff1a;14&#xff1a;59 D…

python如何读取csv文件某几行某几列_关于python:读取.csv文件时,我似乎无法指定列dtypes...

本问题已经有最佳答案&#xff0c;请猛点这里访问。 一个菜鸟问题(修订)&#xff1a;我读了一个.csv文件&#xff0c;并尝试按以下方式指定dtypes&#xff1a; 1 2 3 4 5 6 7 8 9 10 11 12 13 14import csv import pandas as pd cdc pd.read_csv(myFile.csv, dtype { Phenoty…

python-week5

1、现在有如下流程&#xff1a;A->B->C->D->E->F&#xff0c;要求根据输入的参数从制定的流程执行下去 """ File: 01流程执行.py Author: chde_wang Date: 2020-08-16 18&#xff1a;51&#xff1a;35 Description:将输入存储到列表中&#xf…

python-week6

1.如下示例, 请用面向对象的形式优化以下代码 def exc1(host,port,db,charset):connconnect(host,port,db,charset)conn.execute(sql)return xxxdef exc2(host,port,db,charset,proc_name)connconnect(host,port,db,charset)conn.call_proc(sql)return xxx # 每次调用都需要重复…

python定义空数组_在numpy数组中设置空值

如何根据条件使numpy数组中的某些值为空&#xff1f; 我不明白为什么我最终得到的是0&#xff0c;而不是不满足条件的null或空值。。。b是用0和1值填充的numpy数组&#xff0c;c是另一个完全填充的numpy数组。所有阵列均为71x71x166a np.empty(((71,71,166))) d np.empty(((7…

excel学习1-查看一列数值是否在另一列中存在

出现次数用COUNTIF 是否出现使用 IFCOUNTIF 加入$的作用是将需要比对的列固定范围。写好一个函数后&#xff0c;使用右下角号&#xff0c;直接下拉就可以。 参考自https://blog.csdn.net/gywtzh0889/article/details/72910377

fx5u以太网通讯设置_操作示例 | 实现S7300和FX5U的数据交换

北辰BCNet-S7300Plus(以下简称BCNet)&#xff0c;在BCNet-S7300的基础上&#xff0c;以太网口增加了支持与西门子带网口PLC(S7-200SMART 、S7-1200、S7-1500、S7300PN)之间的通讯功能。这些通讯功能包括基于S7TCP协议的数据交换、ModbusTCP服务器功能、ModbusTCP客户机功能&…

excel基础-固定某一列的输入内容

Office&#xff1a;需要固定的单元格-点击数据-数据有效性-点击&#xff0c;选择有效性条件 允许为&#xff1a;序列&#xff0c;然后需要下拉框内容&#xff0c;并选择下拉框。即可 切记&#xff1a;开源中的逗号为英文逗号。 最后效果如下&#xff1a; 参考自https://jingya…