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语言基础知识的基础上,能应用控制流程编写程序,培养学生对应用软件的认知、结构、设计及实施能力。
(二) 要求
- 能熟练掌握Python的安装、执行Python命令和脚本文件的方法、集成开发环境Pycharm。
- 了解Python语言的基本语法和编码规范。
- 掌握Python语言的数据类型、运算符、常量、变量、表达式和常用语句等基础知识。
- 掌握Python语言控制语句。
二、 实验内容及步骤
- 下载并安装Python。
- 安装Python集成开发环境Pycharm。
- 下载并安装至少一个第三方模块。
- 请编写一个程序,能接收用户输入的一个复数的实部和虚部,输出其复数表示形式,并求其模。
- 编写一个程序,根据输入的3个成绩,计算平均分。
- 输出1000以内的素数以及这些素数只和。
- 按公式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 学生认证教程之后会得到一个认证:如图
d. 在之前一定要下载专业版的安装包。根据教程一步一步安装即可。 专业版安装指南 在涉及到资质认证的时候,使用之前用校园邮箱注册的账号密码即可。
PS: 上述教程比较多,比较杂,大家一定要多看几篇文章,准确把握安装的步骤。出现错误,会比较麻烦的。另外。注意安装路径。以后出错也得找到文件在哪里吧!!
3. 下载并安装至少一个第三方模块。
pip install Pillow -i http://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn
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 结束循环
加油!同学们。