1、Python编写一个输出小于N的所有素数的程序

编程要求

程序运行时,提示“N=”,用户输入一个正整数后(要对输入的数进行校验,不是一个大于2的正整数,则提示’error!input again:’,并重新提示输入:’N=’,直到输入了满足要求的数);

把小于N的所有素数存储在一个列表data;

输出data中的全部元素,按每行8个数,每两个数之间用1个空格隔开的格式输出。

根据列表求所有素数之和及平均值(保留小数点后面3位有效数字);

定义一个空列表存放素数

import numpy as np

data = []

while True:

s = input('N=')

if s.isdigit():

N = int(s)

if(int(s)<=2):

print('error!input again:')

continue

break

else:

print('error!input again:')

continue

for i in range(2,N+1):

for j in range(2,i):

if i % j == 0:

break

else:

data.append(i)

for a in range(len(data)):

print(data[a],end=' ')

if (a+1)%8 == 0:

print('')

print(' sum=%.0f,average=%.2f'%(sum(data), np.mean(data)))

2、Python输出小于任意给定的正整数N(N>20)的所有完美数

任务:本关任务:输出小于任意给定的正整数N(N>20)的所有完美数所谓完美数是:若大于0且小于正整数M的所有能整除M的因子的和等于M,则M为完美数,例如:6=1+2+3,因此,6是完美数

编程要求

此程序对运行时间有要求,必须尽可能减小算法时间复杂度。

本程序最佳的代码不会超过15行,如果你的代码超过15行,你得考虑是不是要优化一下(参考代码只有9行)

本题不需要像第1题那样进行合法性检查,假设你的输入都是合法的,即N>20

完美数的输出格式为:a=fact1+fact2+…,fact1,fact2,…因子按升序排序

N=int(input('N='))

for num in range(6,N):

factors=[m for m in range(2,int(num**0.5)+1) if num%m==0]

factors+=[num//n for n in factors]

factors.append(1)

if sum(factors)==num:

factors.sort()

s='+'.join(map(str,factors))

print(f'{num}={s}')

3、Python编写评委评分

任务:学校举行校园歌手大赛,请了N个评委给选手打分,你负责设计一个程序:依次输入N个评委的评分,去掉1个最高分和1个最低分,以其余平均分作为选手最终得分。

编程要求

编程要求

分数为连续输入的方式,相邻两个数之间用逗号(中文,英文逗号均可)或空格作为分隔符都可以识别。只要输入不合法,就提示重新输入。

输入合法的条件是:(A)输入的数据都是数值(B)位于区间(0,10]上的数值个数大于或等于5。

将最终输入的有效数值显示出来,基于最终的有效评分进行计算:去掉1个最高、1个最低分,求剩下的平均分作为最终得分。

最终得分保留小数点后3位有效数字。

尽量以最简洁的代码完成任务。

while True:

s=input('input score:')

seps=',锛 '

for sep in seps:

s=s.replace(sep,' ')

s=s.split()

try:

data=list(map(float,s))

data=[num for num in data if 0

if len(data)>=5:

break

except:

continue

print('valid scores:'+str(data))

max_score=max(data)

min_score=min(data)

avg_score=(sum(data)-max_score-min_score)/(len(data)-2)

print('max={0},min={1},score={2:.3f}'.format(max_score,min_score,avg_score))

4、Python函数的应用: 输出斐波那契数列

任务:给定一个整数N(N>=10),从1开始,输出元素个数为N的斐波那契数列

编程要求

(1)本程序的主程序代码已经给出,如下:

data=fibdata()

outputdata(data)

N = getint()

M = getint()

data = fibdata(N)

outputdata(data,M)

上面的fibdata用于生成一个斐波那契数列,getint用于获取用户从键盘输入的整数(必须为正整数,内部要进行校验,不合法就要求重新输入),outputdata用于根据每行多少个数据输出该数列

(2)请在读懂上述主程序代码的基础上,完成各个函数的定义(你只需要完成定义的代码,上面的调用代码不要求你输入(不过你可以把这段代码复制到你的本机开发环境进行测试)

#-*- coding: utf-8 -*-

def fibdata(n=10):

a, b = 0, 1

data=[1]

while n > 1:

a, b = b, a + b

n -= 1

data.append(b)

return data

def getint():

while True:

a=input('input a positive int:')

if a.isdigit():

break

else:

continue

return int(a)

def outputdata(data,M=5):

for i in range(len(data)):

print(data[i],end=' ')

if (i+1)%M == 0:

print('')

5、Python类的定义与使用:一元二次方程求解

编程要求

(1)以下是主程序文件(test.py)中的完整代码:

from myclass import *

if __name__=='__main__':

while True:

try:

a,b,c=eval(input('please input three float number:'))

equation=QuadraticEquation(a,b,c)

except:

equation=QuadraticEquation() #使用默认参数a=1,b=1,c=1初始化

#注意,这个返回结果必须是一个字典对象{'x1':1,'x2':2,'state':1},其项目依次对应根

#x1,x2,根的状态(0表示相等实根,1表示不等实根,2表示复数根

result=equation.getroot()

equation.outputresult(result) #调用对象的方法更友好地显示结果

print(result.keys(),',state={}'.format(result['state'])) #显示字典对象的键和根的状态

if input('continue(y/n)?').lower()!='y':

break

(2)在读懂主程序的基础上,在右侧代码区中完成myclass.py文件中的代码,从而使主程序文件能够执行,并输出期望的结果。

#-*- coding:utf-8 -

class QuadraticEquation():

def __init__(self,a=1,b=1,c=1):

self.a=a

self.b=b

self.c=c

def getroot(self):

dirt={}

x1=(-self.b+(self.b*self.b-4*self.a*self.c)**0.5)/(2*self.a)

x2=(-self.b-(self.b*self.b-4*self.a*self.c)**0.5)/(2*self.a)

dirt['x1']=x1

dirt['x2']=x2

if isinstance(x1,complex):

state=2

elif x1==x2:

state=0

else:

state=1

dirt['state']=state

return dirt

def outputresult(self , result):

if(result['state']==2):

print("{0}x+{1}x**2+{2}=0 has two complex roots x1={3:.3f},x2={4:.3f}"

.format(self.a,self.b,self.c,result['x1'],result['x2']))

elif result['state']==1:

print("{0}x+{1}x**2+{2}=0 has two inequal real roots:x1={3:.3f},x2={4:.3f}"

.format(self.a,self.b,self.c,result['x1'],result['x2']))

else:

print("{0}x+{1}x**2+{2}=0 has two equal roots x1=x2={3:.3f}"

.format(self.a,self.b,self.c,result['x1']))

6、字符串、正则表达式与文件操作:字符串加密与解密

任务描述

加密:给定一串原始的文本和一个编码字符串(例如utf-8),加密算法为:把原始内容转换为字节串,然后把字节串中的每一个元素对应的10进制整数转换为对应的字符串,各个字符串用1个小写字母作为分隔符连接起来,最终构成的字符串为加密后的字符串。分隔符的确定规则如下:

当前的分割字母在字母表中的顺序与它前面的那个数字对应,若那个数字为0,则为字母a,为1,则为字母b,…,。

例如,“china 中国”用编码’utf-8’加密后为“99j104e105f110a97h32c228i184e173d229j155f189j”

解密:给定上述加密后的字符串,反向解码为原始的字符串。

编程要求

(1)编写一个可复用的类Encryptionlock,实现上述功能。

(2)主程序通过使用Encryptionlock,实现对一个输入的字符串进行加密,及对一个输入的加密后的字符串进行解密,代码如下:

if name == "main":

s=input("输入待加密的字符串:’)

coding=input("输入编码字符串:’)

s_encrpt=Encryptionlock.encrypt(s,coding)

print("加密后为:’+s_encrpt)

s_decrpt=Encryptionlock.decrypt(s_encrpt,coding)

print("解密后为:’+s_decrpt)

#-*- coding: utf-8 -*-

import string

class Encryptionlock():

'''使用常用编码进行文本的加密和解密

'''

@staticmethod

def encrypt(originstr: str, coding: str = 'utf-8'):

'''对一个字符串进行加密,返回加密后的字符串

'''

result = originstr.encode(coding)

result = bytearray(result)

seq = string.ascii_lowercase

result = ''.join([str(s) + seq[s%10] for s in result])

return result

@staticmethod

def decrypt(encrypedstr: str, coding: str = 'utf-8'):

'''对一个字符串进行解密,返回解密后的字符串

'''

result= encrypedstr

seq = string.ascii_letters

for s in seq:

result = result.replace(s, ' ')

result = result.split(' ')

result.pop()

result = bytes(map(int,result))

return result.decode(coding)

7、数学库numpy的使用

任务描述

编写一个程序:输入任意一个矩阵,求它的转置矩阵,并判断其是否为奇异矩阵,若不是,则输出其行列式和逆矩阵。

相关知识

程序的运行结果画面类似如下:

请输入一个N×N矩阵:[[1,6],[3,9]]

该矩阵的转置矩阵为:

[[1 3]

[6 9]]

该矩阵的行列式为:-9.00

该矩阵的逆矩阵为:

[[-1. 0.66666667]

[ 0.33333333 -0.11111111]]

import numpy as np

c=eval(input("请输入一个N×N矩阵:"))

a=np.asarray(c)

print("该矩阵的转置矩阵为:")

print(a.T)

if(a.shape[0]==a.shape[1] and abs(np.linalg.det(a))!=0):

print("该矩阵的行列式为:{0:.2f}".format(np.linalg.det(a)))

print("该矩阵的逆矩阵为: {0}".format(np.linalg.inv(a)))

else:

print("这是奇异矩阵")

python简单代码input-Python简单程序的练习相关推荐

  1. python简单代码编写-Python | 编写一个简单的Excel处理脚本

    前段时间,温老师找我说财务处的某老师平日处理大量的Excel,很多都是机械的重复劳动,不胜其烦.和我简单说了下需求,看我能不能写个程序帮一下忙. 需求简述如下: 一个多行多列的Excel文档有一列为& ...

  2. python画图简单代码-用python进行简单的画图操作

    我用python的matplotlib模块进行简单的画图操作,作为入门参考,下面直接上代码:#coding:utf-8 import numpy as np import matplotlib.pyp ...

  3. python基础代码事例-python基础代码大全

    [实例简介] python代码大全,适用于基础python学习者,里面的代码基本上是基础学习者必经过程. Python学习入门很快,但学习之路任重道远 [实例截图] [核心代码] python代码大全 ...

  4. python常用代码大全-Python常用库大全,看看有没有你需要的

    环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具. Vex – 可以在虚拟环境中执行命令. v ...

  5. python常用代码大全-Python常用库大全及简要说明

    环境管理 管理 Python 版本和环境的工具 p:非常简单的交互式 python 版本管理工具.官网 pyenv:简单的 Python 版本管理工具.官网 Vex:可以在虚拟环境中执行命令.官网 v ...

  6. python基础代码大全-Python字典及基本操作(超级详细)

    字典也是 Python 提供的一种常用的数据结构,它用于存放具有映射关系的数据. 比如有份成绩表数据,语文:79,数学:80,英语:92,这组数据看上去像两个列表,但这两个列表的元素之间有一定的关联关 ...

  7. python基础代码大全-python基础代码大全

    [实例简介] python代码大全,适用于基础python学习者,里面的代码基本上是基础学习者必经过程. Python学习入门很快,但学习之路任重道远 [实例截图] [核心代码] python代码大全 ...

  8. python基础代码大全-python基础语法,python 代码命令大全

    python: 1.语法强制缩进 2.区分大小写:iLoop与iloop是两个变量 3.变量无需申明,但是变量赋值前无法使用:a=3合法,b=a+3合法,b=a+c不合法,因为c未赋值前不能使用 4. ...

  9. python入门代码大全-python入门代码指南教程书籍推荐2020总结全集汇总

    python入门代码指南教程书籍推荐2020总结全集汇总 记住,如果您想学习Python,市场上有很多可用的资源.这些可以包括书籍,甚至在线课程..在这篇文章中,我们为Python编写了最好的书籍,无 ...

  10. python常用代码大全-Python常用库大全

    Python常用库大全,看看有没有你需要的. 环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具 ...

最新文章

  1. python怎么打日志_怎样调试 日志 python 代码
  2. 美团点评资深产品专家刘远飞:了解业务要弄清楚这三个问题
  3. 以太坊是什么 - 以太坊开发入门指南
  4. Github 王炸功能!Copilot 替代打工人编程?
  5. CSS清除默认样式,经典好文
  6. 动力环境监控系统论文_浅谈动力环境监控系统技术标准
  7. nginx中的nginx.conf.default配置
  8. 支付宝开放新玩法:搜商家可领消费券
  9. 选择要素选择集中的某个图层的要素
  10. 吴恩达机器学习笔记23-神经网络:表述--非线性假设(Non-linear Hypotheses)
  11. html表格之个人简历
  12. 谷歌SEO入门的基础知识
  13. lisp 定距等分_CAD点命令快捷键(定数等分及定距等分)
  14. python为什么叫胶水语言 举例_python为什么叫胶水语言 python为什么是系统脚本
  15. Codeforces Round #439 (Div. 2)C - The Intriguing Obsession(简单dp)
  16. 如何使用Python生成数据分析报告
  17. 第十二届Revit开发训练营4月4日~9日在武汉举办
  18. (7)无参构造方法 有参构造方法
  19. 单片机只会调库和复制别人的代码是什么水平?
  20. 第19节 HSRP-热备份路由协议原理及实验演示—基于Cisco Packet Tracer

热门文章

  1. 理解数据成员指针、函数成员指针
  2. Linux下ACL权限控制以及用sudo设置用户对命令的执行权限
  3. .NET开发中的连接字串
  4. python入门经典例题-Python入门经典练习题
  5. python使用什么注释语句和运算-Python3 注释和运算符
  6. python画图-Python基础-画图:matplotlib
  7. 学好python工资一般多少钱-学会Python后,月薪40k是什么水平?
  8. python利器怎么用-UliPad 初体验----python 开发利器
  9. python人工智能-Python 人工智能应用快速入门 (一)
  10. python不想学了-不要再被Python洗脑了!!