浙大版《Python 程序设计》题目集

这个博客包含了浙江大学《Python程序设计》课程的编程题目,涵盖函数、编程基础、数学计算、字符串处理、列表操作、矩阵运算等多个方面,旨在提升Python编程能力。
摘要由CSDN通过智能技术生成

文章目录

函数

1 使用函数求特殊a串数列和

在这里插入图片描述

def fn(a,n):
    s = 0
    temp = a
    for i in range(n):
        s += temp
        temp = temp*10 + a
    return s
2 使用函数求素数和

在这里插入图片描述

def prime(p):
    if p < 2:
        return False
    for i in range(2, int(p**0.5)+1):
        if p%i == 0:
            return False
    return True

def PrimeSum(m,n):
    ls = []
    for num in range(m, n+1):
        if prime(num):
            ls.append(num)
    return sum(ls)
3 使用函数统计指定数字的个数

在这里插入图片描述

def CountDigit(number, digit):
    return str(number).count(str(digit))
4 使用函数输出指定范围内Fibonacci数的个数

在这里插入图片描述
在这里插入图片描述

def fib(n):
    if n == 0 or n == 1:
        return 1
    return fib(n-1)+fib(n-2)

def PrintFN(m,n):
    result = []
    for i in range(25):
        if m <= fib(i) <= n:
            result.append(fib(i))
    return result
5 使用函数求余弦函数的近似值

在这里插入图片描述

import math
def funcos(eps,x):
    i = 0
    s = 0
    flag = -1
    while abs(x**i/math.factorial(i)) >= eps:
        flag = -flag
        s += flag*x**i/math.factorial(i)
        i += 2
    return s
6 缩写词

在这里插入图片描述

def acronym(phrase):
    ls = phrase.split()
    c = ''
    for s in ls:
        c += s[0].upper()
    return c

编程题

第1章

1 从键盘输入两个数,求它们的和并输出

在这里插入图片描述

a = eval(input())
b = eval(input())
print(a+b)
2 从键盘输入三个数到a,b,c中,按公式值输出

在这里插入图片描述

a, b, c = map(eval, input().split())
print(b*b-4*a*c)
3 输出“人生苦短,我学Python”

在这里插入图片描述

print('人生苦短,我学Python')

第2章

1 计算 11+12+13+…+m

在这里插入图片描述

m = eval(input())
print('sum = {}'.format(sum(range(11,m+1))))
2 计算分段函数[1]

在这里插入图片描述
注意格式:保留小数点后一位

def f(x):
    if x == 0:return 0
    else:return 1/x
x = eval(input())
print('f({:.1f}) = {:.1f}'.format(x, f(x)))
3 阶梯电价

在这里插入图片描述

quan = eval(input())
if quan < 0:
    print('Invalid Value!')
elif quan <= 50:
    cost = 0.53*quan
    print('cost = {:.2f}'.format(cost))
else:
    cost = 0.53*50 + (quan-50)*(0.53+0.05)
    print('cost = {:.2f}'.format(cost))
4 特殊a串数列求和

在这里插入图片描述
题目序列表述有误,测试的是序列a + aa + aaa +…+aa…aa(n个)

a, n = map(int, input().split())
s = 0
temp = a
for i in range(n):
    s += temp
    temp = temp*10 + a
print('s = {}'.format(s))

若是题给序列:

a, n = map(int, input().split())
s = 0
temp = a
if n%2 == 0: #若为偶数项,直接折半
    for i in range(n//2):
        s += temp
        temp = temp*10 + a
    s *= 2 #倍乘
else:
    for i in range(n//2):
        s += temp
        temp = temp*10 + a
    s *= 2
    s += temp #折半后补上中间数
print('s = {}'.format(s))
5 求奇数分之一序列前N项和

在这里插入图片描述

N = eval(input())
s = 0
for i in range(1, N+1):
    s += 1/(2*i-1)
print('sum = {:.6f}'.format(s))
6 求交错序列前N项和

在这里插入图片描述

n = eval(input())
s, flag = 0, -1
for i in range(1, n+1):
    flag = -flag
    s += flag*i/(2*i-1)
print('%.3f'%s) #字符串格式控制
7 产生每位数字相同的n位数

在这里插入图片描述
使用列表推导分割字符串,再逐个strip(),消除空格符

a, b = [s.strip() for s in input().split(',')]
print(a*eval(b))

或者采用map方法的同时,利用lambda匿名函数处理各个元素

a, b = map(lambda d:int(d.strip()), input().split(','))
print(str(a)*b)
8 转换函数使用

在这里插入图片描述
注意,int进制转换只能转换字符串

num, n = map(int, input().split(','))
print(int(str(num), n))
9 比较大小

在这里插入图片描述
注意:

  1. 此处构造列表需要将元素由str化为int,直接对str排序不一定正确
  2. print排序处不能使用.sort(),因为sort是原地修改,无返回值
ls = [eval(x) for x in input().split()]
print(*sorted(ls), sep='->')
10 输出华氏-摄氏温度转换表

在这里插入图片描述
注意:
range的范围要注意,终止地址要+1

lower, upper = map(eval, input().split())
if lower > upper or upper > 100:
    print('Invalid.')
else:
    print('fahr celsius')
    for i in range(lower, upper+1, 2):
        print('{}{:6.1f}'.format(i, 5*(i-32)/9))
11 求平方与倒数序列的部分和

在这里插入图片描述

m, n = map(int, input().split())
s = 0
for i in range(m, n+1):
    s += i**2 + 1/i
print('sum = {:.6f}'.format(s))
12 输出三角形面积和周长

在这里插入图片描述
即,海伦公式

a, b, c = map(int, input().split())
if a + b > c and a + c > b and b + c > a:
    s = (a+b+c)/2
    print('area = {:.2f}; perimeter = {:.2f}'.format((s*(s-a)*(s-b)*(s-c))**0.5, s*2))
else:
    print('These sides do not correspond to a valid triangle')
13 分段计算居民水费

在这里插入图片描述

x = eval(input())
y = 4*x/3 if x <= 15 else 2.5*x-17.5
print('%.2f'%y)
14 求整数段和

在这里插入图片描述
考察格式控制输出,不能简单使用列表解包

a, b = map(eval, input().split())
cnt = 0
for i in range(a, b+1):
    print('{:>5d}'.format(i), end='')
    cnt += 1
    if cnt%5 == 0:
        print()
if len(range(a, b+1))%5 != 0: #最后一行不足5个数的情况
    print()
print('Sum = {}'.format(sum(
  • 15
    点赞
  • 74
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 非常感谢您的提问!以下是我整理的关于浙大Python程序设计》的题目: 第一章 Python初体验 1.1 Python简介及特点 1.2 Python环境搭建 1.3 Python初体验 1.4 Python简单应用:温度转换 第二章 Python基础讲解 2.1 Python基本数据类型 2.2 列表、元组、字典及其操作 2.3 条件语句 2.4 循环语句 2.5 函数 2.6 模块与包 第三章 Python高级语法 3.1 面向对象编程基本概念 3.2 类的定义与使用 3.3 继承与多态 3.4 异常处理机制 3.5 迭代器与生成器 3.6 装饰器 第四章 Python实战 4.1 文件操作 4.2 数据处理与存储 4.3 网络编程 4.4 多线程与多进程 4.5 数据可视化 希望这份题目对您有所帮助!如果您有任何问题或需要更多帮助,请随时告诉我。 ### 回答2: 浙大Python程序设计题目是一本用于学习和训练编程技能的教材,主要面向浙江大学的计算机专业学生。这本书包含了丰富多样的编程题目,涵盖了Python编程的各个方面,旨在帮助学生熟悉和掌握Python语言的基础知识和编程能力。 这本书的题目设计紧密结合了计算机科学和软件工程的实际应用场景,题目种类多样,包括数学计算、字符串操作、文件处理、列表和字典操作、图形界面编程等等。每个题目都配有详细的题目描述和要求,让学生能够清楚地理解问题的背景和需求,在解题过程中锻炼问题分析和算法设计的能力。 这本教材还提供了每个题目的解答和思路,供学生参考和学习。同时,书中也介绍了Python的编程技巧和常见的调试技巧,帮助学生提高代码的效率和可维护性。此外,书中还介绍了一些常用的Python库和工具,帮助学生更好地应用Python进行软件开发。 总之,浙大Python程序设计题目是一本全面而实用的教材,适合计算机专业学生学习和掌握Python编程技能。通过解答其中的题目,学生不仅可以提高编程能力,还可以培养问题分析和算法设计的思维方式,为将来的软件开发和科学研究打下坚实的基础。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值