Python大学第三章作业

张开发
2026/4/20 20:06:32 15 分钟阅读

分享文章

Python大学第三章作业
1.编写程序使用不同的现实方法输出2000~2500中的所有闰年# 方法1for循环 print(2000~2500之间的闰年for循环实现)#输入题目 for year in range(2000, 2501):# year2000~2500 if (year % 400 0) or (year % 4 0 and year % 100 ! 0):# 闰年判定规则世纪年能被400整除 或 普通年能被4整除且不能被100整除 print(year, end ) # 输出年份用空格分隔不换行 print(\n - * 60)#输出结果 # 方法2while循环 print(2000~2500之间的闰年while循环实现) year 2000# 初始化年份变量从起始年份2000开始 while year 2500:# 循环条件年份不超过2500遍历所有目标年份 if (year % 400 0) or (year % 4 0 and year % 100 ! 0): print(year, end )# 输出年份空格分隔不换行 year 1# 年份自增1进入下一次循环 print()# 最后换行保证输出格式整洁2.编写程序计算Sn1-35-79-11、、、if __name__ __main__: print_hi(PyCharm) # 访问 https://www.jetbrains.com/help/pycharm/ 获取 PyCharm 帮助 n int(input(请输入项数n: )) # 输入项数n并转换为整数 s 0 # 初始化和变量初始值为0 for i in range(1, n1):# i1~n term 2 * i - 1 # 第i项的绝对值奇数序列 if i % 2 0: # 判断是否为偶数项 term -term # 偶数项取负 s term # 将当前项累加到总和 print(fS_{n} {s})# 输出最终结果3.编写程序计算Sn11/21/3···import math#导入数据 n int(input(请输入项数n: )) # 输入项数n转换为整数 s 0.0 # 初始化和变量初始值为0.0浮点数保证精度 for i in range(1, n1):#i1~n s 1 / i # 将1/i累加到总和s print(fS_{n} {s:.6f})#输出结果保留六位小数4.编写程序打印九九乘法表。要求输出九九乘法表的各种显示效果上三角、下三角、矩形块等方式# 矩形块九九乘法表 print( 矩形块九九乘法表 ) for i in range(1, 10): # 外循环控制行数乘数i1~9 row for j in range(1, 10): # 内循环控制列数被乘数j1~9 row f{i}×{j}{i*j:2} # 拼接乘法式左对齐占2位 print(row) # 打印一行换行 # 上三角九九乘法表j i print(\n 上三角九九乘法表 ) for i in range(1, 10): # 外循环控制行数i1~9 for j in range(i, 10): # 内循环j从i开始保证上三角 print(f{i}×{j}{i*j:2}, end ) # 打印乘法式不换行 print() # 一行结束换行 # 下三角九九乘法表j i最常用 print(\n 下三角九九乘法表 ) for i in range(1, 10): # 外循环控制行数i1~9 for j in range(1, i1): # 内循环j从1到i保证下三角 print(f{j}×{i}{i*j:2}, end ) # 打印乘法式不换行 print() # 一行结束换行5.编写程序输入整数nn100,分别利用for循环和while循环求n。while True:# 循环校验直到用户输入大于等于0的非负整数 n int(input(请输入非负整数n))# 获取用户输入并转换为整数 if n 0:# 判断是否为非负整数合法则跳出循环 break print(输入错误请输入非负整数) # 输入负数时提示重新输入 # for循环 fact_for 1 # 累乘初值必须为1累加初值为0阶乘累乘初值为1 for i in range(1, n 1):#i1~n fact_for fact_for * i # 累乘运算 # while循环 fact_while 1 # 累乘初值 temp 1 # while循环的计数变量从1开始 while temp n: fact_while fact_while * temp # 累乘 temp 1 # 计数变量自增 print(ffor循环{n}! {fact_for}) print(fwhile循环{n}! {fact_while})6.编写程序产生两个0~100包含0和100的随机整数a和b求这两个整数的最大公约数和最小公倍数。import random # 导入模块 import math # 导入模块 a random.randint(0, 100)# 生成a0~100包含边界的随机整数 b random.randint(0, 100)# 生成b 0~100包含边界的随机整数 num1, num2 a, b# 备份原始数字后续输出用 gcd_res math.gcd(a, b)#求最大公约数 # 2. 计算最小公倍数 if gcd_res 0:# 特殊判断防止0的情况除零报错 lcm_res 0 else: lcm_res (num1 * num2) // gcd_res # 公式两数乘积÷最大公约数//整数除法 print(f整数1 {num1}整数2 {num2}) print(f最大公约数 {gcd_res}最小公倍数 {lcm_res})7.假设某理财产品一年期利率为8.75%编写程序计算多少年后一万元的这款一年期理财产品连本带息才能翻番principal 10000 # 初始本金1万元 rate 0.0875 # 年化利率 8.75%转为小数 target principal * 2 # 目标金额本金翻倍20000元 year 0 # 初始化年数从0年开始计算 now_money principal # 当前账户本息金额初始为本金 while now_money target:# 循环每年复利计息直到本息和≥翻倍目标 now_money now_money * (1 rate) # 复利计算本金*(1利率) year 1 # 每过1年年数1 print(f{year}年后一万元的一年期理财产品连本带息才能翻番)

更多文章