Python程序运行方式和程序流程控制


目录

  • Python程序运行方式和程序流程控制
  • 一、 实验目的和要求
  • (一) 目的
  • (二) 要求
  • 二、 实验内容及步骤
  • 三、 实验代码清单
  • 1. 下载并安装Python。
  • 2. 安装Python集成开发环境Pycharm。
  • 社区版(安装简单)
  • 专业版(完备教程)
  • 3. 下载并安装至少一个第三方模块。
  • 4. 请编写一个程序,能接收用户输入的一个复数的实部和虚部,输出其复数表示形式,并求其模。
  • 5. 编写一个程序,根据输入的3个成绩,计算平均分。
  • 6. 输出1000以内的素数以及这些素数之和。
  • 7. 按公式s=12+22+32+...+n2,求累计加和,s不超过1000的最大项数n
  • 四、 小结(运行结果分析)
  • 1. 求复数模长和输出相应形式程序中:
  • 2. 求平均成绩的程序中:
  • 3. 求1000以内素数和素数和的程序中:
  • 4. 求平方累加和的程序中:
  • 加油!同学们。


一、 实验目的和要求

(一) 目的

本实验的目的是使学生熟悉Python程序运行方式和程序流程控制,在熟练掌握Python语言基础知识的基础上,能应用控制流程编写程序,培养学生对应用软件的认知、结构、设计及实施能力。

(二) 要求
  1. 能熟练掌握Python的安装、执行Python命令和脚本文件的方法、集成开发环境Pycharm。
  2. 了解Python语言的基本语法和编码规范。
  3. 掌握Python语言的数据类型、运算符、常量、变量、表达式和常用语句等基础知识。
  4. 掌握Python语言控制语句。

二、 实验内容及步骤

  1. 下载并安装Python。
  2. 安装Python集成开发环境Pycharm。
  3. 下载并安装至少一个第三方模块。
  4. 请编写一个程序,能接收用户输入的一个复数的实部和虚部,输出其复数表示形式,并求其模。
  5. 编写一个程序,根据输入的3个成绩,计算平均分。
  6. 输出1000以内的素数以及这些素数只和。
  7. 按公式s=12+22+32+…+n2,求累计加和,s不超过1000的最大项数n,程序运行结果如下所示:
    n s
    1 1
    2 5
    3 14
    4 30

    累计和不超过1000的最大项数是n=13

三、 实验代码清单

1. 下载并安装Python。

Python官网 自行下载并安装
附:Python安装教程 (CSDN) 如果在 cmd 中 输入python 显示:python不是内部或外部命令的解决办法

2. 安装Python集成开发环境Pycharm。
社区版(安装简单)

a.Pycharm官网链接 推荐社区版本 Community版本安装教程

专业版(完备教程)

b. 如果有人想要专业版本,需要使用校园邮箱认证一下学生资质
认证教程 太原理工大学学生校园邮箱登陆方法

c.认证校园邮箱后,打开此链接JetBrains学习产品认证 认证教程:JetBrains 学生认证教程之后会得到一个认证:如图

python numpy写入复数数据到bin文件_pycharm

d. 在之前一定要下载专业版的安装包。根据教程一步一步安装即可。 专业版安装指南 在涉及到资质认证的时候,使用之前用校园邮箱注册的账号密码即可。

PS: 上述教程比较多,比较杂,大家一定要多看几篇文章,准确把握安装的步骤。出现错误,会比较麻烦的。另外。注意安装路径。以后出错也得找到文件在哪里吧!!

3. 下载并安装至少一个第三方模块。
pip install Pillow -i http://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn

python numpy写入复数数据到bin文件_开发语言_02

Pillow Python3 最常用的图像处理库,目前最高版本5.2.0。在这里,使用清华镜像安装。(就是安装地址,因为人家是国外的网站,需要通过镜像访问)

4. 请编写一个程序,能接收用户输入的一个复数的实部和虚部,输出其复数表示形式,并求其模。
import math
# 请编写一个程序,能接收用户输入的一个复数的实部和虚部,输出其复数表示形式,并求其模。
def numlength(num11, num22):
    length1 = math.sqrt(math.pow(num11, 2) + math.pow(num22, 2))
    print("复数的模长为:" + str(round(length1,2)))
    return length1

if __name__ == "__main__":
    num1 = float(input("请输入复数的实部:"))
    num2 = float(input("请输入复数的虚部:"))
    numlength(num1,num2)
    print("您输入的复数为:" + str(num1) + " + " + str(num2) + " i ")
运行结果:
F:\pythonProject\venv\Scripts\python.exe F:/pythonProject/main.py
请输入复数的实部:2
请输入复数的虚部:2
复数的模长为:2.83
您输入的复数为:2.0 + 2.0 i 

进程已结束,退出代码为 0
5. 编写一个程序,根据输入的3个成绩,计算平均分。
if __name__ == "__main__":
    average = 0
    for i in range(3):
        average += float(input("请输入第" + str(i+1) + "个成绩:" ))
    average = round(average/3.0,3)
    print("三个成绩的平均分是:" + str(average))
运行结果:
F:\pythonProject\venv\Scripts\python.exe F:/pythonProject/main.py
请输入第1个成绩:98
请输入第2个成绩:86
请输入第3个成绩:78
三个成绩的平均分是:87.333

进程已结束,退出代码为 0
6. 输出1000以内的素数以及这些素数之和。
import math
#判断素数
def Isprime(n):
    if n == 1:
        return False
    for i in range(2,int(math.sqrt(n)) + 1):
        if n % i == 0:
            return False
    return True

if __name__ == "__main__":
    num = 0
    i = 0
    print("1000以内素数有:")
    for number in range(1,1000):
        if Isprime(number):
            i += 1
            # 每输出是个素数就进行一次换行
            if i%10 == 0:
                print(str(number) + "  ")  # 输出换行
            else:
                print(str(number) + "  ", end="")   #输出不换行
            num += number
    print("") #全部素数输出完毕后,换行
    print("1000以内素数之和为:" + str(num))
运行结果:
F:\pythonProject\venv\Scripts\python.exe F:/pythonProject/main.py
1000以内素数有:
2  3  5  7  11  13  17  19  23  29  
31  37  41  43  47  53  59  61  67  71  
73  79  83  89  97  101  103  107  109  113  
127  131  137  139  149  151  157  163  167  173  
179  181  191  193  197  199  211  223  227  229  
233  239  241  251  257  263  269  271  277  281  
283  293  307  311  313  317  331  337  347  349  
353  359  367  373  379  383  389  397  401  409  
419  421  431  433  439  443  449  457  461  463  
467  479  487  491  499  503  509  521  523  541  
547  557  563  569  571  577  587  593  599  601  
607  613  617  619  631  641  643  647  653  659  
661  673  677  683  691  701  709  719  727  733  
739  743  751  757  761  769  773  787  797  809  
811  821  823  827  829  839  853  857  859  863  
877  881  883  887  907  911  919  929  937  941  
947  953  967  971  977  983  991  997  
1000以内素数之和为:76127

进程已结束,退出代码为 0
7. 按公式s=12+22+32+…+n2,求累计加和,s不超过1000的最大项数n
import math

# 定义求平方和
def Quadraticsum():
    sum = 0
    print("n    s")
    for n in range(1,50):
        sum += int(math.pow(n,2))
        if sum <= 1000 :   # sum 小于1000  按照格式输出
            print(str(n) + "    " + str(sum))
        if sum > 1000 :
            print("累计和不超过1000的最大项数是n=" + str(n-1))   #检测到sum > 1000 时,已经多加了一次 n 的值,所以我们要减去
            break

if __name__ == "__main__":
    Quadraticsum()  # 调用函数
运行结果:
F:\pythonProject\venv\Scripts\python.exe F:/pythonProject/main.py
n    s
1    1
2    5
3    14
4    30
5    55
6    91
7    140
8    204
9    285
10    385
11    506
12    650
13    819
累计和不超过1000的最大项数是n=13

进程已结束,退出代码为 0

四、 小结(运行结果分析)

1. 求复数模长和输出相应形式程序中:

使用print 函数输出结果的时候,需要将float型数据,转换为str 字符串。计算模长之后,小数的取舍,使用到了round()函数

2. 求平均成绩的程序中:

利用for循环,依次输入三个成绩,并同时累加起来,输入结束,求和结束。最后将average 求一下平均数即可。仍然使用round()函数,规范小数位数

3. 求1000以内素数和素数和的程序中:

加入了一个 i 用来计算输出的素数个数,每当输出10个素数,进行换行。这样的输出结果,看起来会好看一些。

4. 求平方累加和的程序中:

利用for 循环,n从1到50,求n的平方,累加到sum 中,并判断sum的值有没有大于1000 ,没有就继续累加,大于了1000,就输出:累计和不超过1000的最大项数是+ (n-1)。break 结束循环

加油!同学们。