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个随机数,首尾相接,字符串输出
IPO:输入:随机产生数字 过程:用两个字符串来进行连接 输出
缺点:用两个字符串显得有点累赘,只需要使用一个就行
IPO:输入:随机产生数字 过程:将数字转化为字符串,只使用一个字符串进行自己累加,最后输出
IPO:输入:用户输入种子数,输入要随机的个数,随机产生数字 过程:直接将每次的数字打印出来,使用方法使打印能依次打印出来 输出
Section2:
问题分析:1到N的奇数的平方和(若N为奇数,则不包括N)
IPO:输入:输入一个整数N 过程:将1-N中奇数找出,并求出平方和 输出
缺点:无法判断用户输入的是否为正整数,并使程序再次运行
IPO:输入:输入一个整数N 过程:首先先判断输入的是否为正整数,若不是,则再行输出,将1-N中奇数找出,并求出平方和 输出
Section3:
问题分析:判断一个数是否为素数
IPO:输入:输入一个正整数N 过程:用N从2开始到N的开根进行相除,判断质数 输出 为质数输出True 不为质数则输出False
缺点:无法判断用户是否输入为正整数
IPO:输入:输入一个正整数N 过程:先判断输入的是否为正整数,再用N从2开始到N的开根进行相除,判断质数 输出 为质数输出True 不为质数则输出False
IPO:输入:输入一个正整数N且N不等于1(写报告时突然唤起的小学的知识) 过程:先判断输入的是否为正整数,再用N从2开始到N的开根进行相除,判断质数 输出 为质数输出True 不为质数则输出False
总结和心得:
本次实验让我将所学的知识运用到实际中,书上的一些函数以及使用方法光看是不能熟练运用的,当多在程序中使用,熟练度一下就上来了,例如:str.isnumeric()(刚开始我都不会拼),在这次实验中,我还实际操作了一下定义函数,以及调用。在实验过程中,因为学习过C语言,常常会将c的使用方法带到python中,这也需要我在以后的学习中改正。在实验过程,对程序的每一次优化,都使我对知识的巩固以及灵活运用,增加了我对思考问题的角度。有一点很重要,在写程序时,为什么会有那么多波浪线,我看到太扎心了,于是自己去找出现波浪线的原因,终于把它们消灭了!!!
PS:补充去波浪线的几个常用方法:在程序语句注释时#前需要空两格,在写完一个函数时,需要空两行,在写一个符号时,后面空一格。