python 实验

一、实验目的

1、掌握Python环境配置,可使用IDLE或Pycharm等工具进行Python程序开发。

2、掌握Python基本数据类型及程序控制结构,完成简单的程序练习题。

二、实验内容

1、编写程序随机产生20个长度不超过3位的数字,让其首尾相连以字符串形式输出,随机种子为17。

2、从键盘获得用户输入的正整数N,计算1到N之间所有奇数的平方和,不含N,直接输出结果。

3、从键盘获得用户输入的正整数N,判断N是否为质数,如果是则输出True,否则输出False。

三、程序清单

Section1:随机数生成

(1)v1

(2)v2

(3)v3

Section2:奇数平方和

(1)v1

(2)v2

Section3:判断质数

(1)v1

(2)v2

(3)v3

四、调试及测试结果

Section1:(1)v1  (设置了两个变量,学C的套路放到python里有点画蛇添足了)

(2)v2  (用一个变量,让代码变得更简洁一点,又能保证代码的正常使用)

(3)v3  (将输出过程设置成一个函数,可以方便调用,用于多次的运算,并加入了种子的输入,使程序变得更灵活,可以通过在输出时写 end=’‘,来直接输出数字,不需要多次的连接)

Section2:(1)v1   (有了第一题的经验,直接写成函数,方便调用,但对于数据的判断,只判断了数字小于等于0的特殊情况)

(2)v2   (使用了str.isnumeric()函数,可以用来判断用户在输入时,如果不是输入的正整数,可以重新输入,增加了实用性)

Section3:(1)v1  (遍历时,将数字进行开根处理,可以减少运行时间,但当用户输入其他非正整数时,无法判断)

(2)v2   (依然通过str.isnumeric()函数来处理,解决了输入的不是正整数的情况)

(3)v3   (在写报告时突然记起我的小学老师的教导,1既不是质数也不是合数,于是在判断时又加入了对1的判断)

五、实验总结与心得

Section1:

问题分析:随机生成20个随机数,首尾相接,字符串输出

  1. 初始版

IPO:输入:随机产生数字 过程:用两个字符串来进行连接 输出

缺点:用两个字符串显得有点累赘,只需要使用一个就行

  1. 改进版

IPO:输入:随机产生数字 过程:将数字转化为字符串,只使用一个字符串进行自己累加,最后输出

  1. 最终版

IPO:输入:用户输入种子数,输入要随机的个数,随机产生数字  过程:直接将每次的数字打印出来,使用方法使打印能依次打印出来 输出

Section2:

问题分析:1到N的奇数的平方和(若N为奇数,则不包括N)

  1. 初始版

IPO:输入:输入一个整数N  过程:将1-N中奇数找出,并求出平方和  输出

缺点:无法判断用户输入的是否为正整数,并使程序再次运行

  1. 最终版

IPO:输入:输入一个整数N  过程:首先先判断输入的是否为正整数,若不是,则再行输出,将1-N中奇数找出,并求出平方和 输出

Section3:

问题分析:判断一个数是否为素数

  1. 初始版

IPO:输入:输入一个正整数N  过程:用N从2开始到N的开根进行相除,判断质数 输出 为质数输出True 不为质数则输出False

缺点:无法判断用户是否输入为正整数

  1. 改进版

IPO:输入:输入一个正整数N  过程:先判断输入的是否为正整数,再用N从2开始到N的开根进行相除,判断质数 输出 为质数输出True 不为质数则输出False

  1. 最终版

IPO:输入:输入一个正整数N且N不等于1(写报告时突然唤起的小学的知识)  过程:先判断输入的是否为正整数,再用N从2开始到N的开根进行相除,判断质数 输出 为质数输出True 不为质数则输出False

总结和心得:

    本次实验让我将所学的知识运用到实际中,书上的一些函数以及使用方法光看是不能熟练运用的,当多在程序中使用,熟练度一下就上来了,例如:str.isnumeric()(刚开始我都不会拼),在这次实验中,我还实际操作了一下定义函数,以及调用。在实验过程中,因为学习过C语言,常常会将c的使用方法带到python中,这也需要我在以后的学习中改正。在实验过程,对程序的每一次优化,都使我对知识的巩固以及灵活运用,增加了我对思考问题的角度。有一点很重要,在写程序时,为什么会有那么多波浪线,我看到太扎心了,于是自己去找出现波浪线的原因,终于把它们消灭了!!!

PS:补充去波浪线的几个常用方法:在程序语句注释时#前需要空两格,在写完一个函数时,需要空两行,在写一个符号时,后面空一格。

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值