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

代码全是用的python 3.x语法

第1章-1 从键盘输入两个数,求它们的和并输出 (30分)

x = int(input())
y = int(input())
print(x+y)

第1章-2 从键盘输入三个数到a,b,c中,按公式值输出 (30分)

x = input().split()
print(int(x[1])**2 - 4*int(x[0])*int(x[2]))

第1章-3 输出“Python语言简单易学” (10分)

s = "Python语言简单易学"
print(s.encode("utf-8"))

第2章-1 计算 11+12+13+…+m (30分)

x = int(input())
y = 0
for i in range(11, x+1):
    y += i
print("sum =",y)

第2章-2 计算分段函数[1] (10分)

a = float(input())
print("f({:.1f}) = {:.1f}".format(a, 1/a) if a != 0 else "f({:.1f}) = {:.1f}".format(a, a))

第2章-3 阶梯电价 (15分)

a = int(input())
ans = 0
if a <= 50:
    ans = a*0.53
else:
    ans = 50*0.53 + (a -50)*0.58
print("cost = {:.2f}".format(ans) if a > 0 else "Invalid Value!")

第2章-4 特殊a串数列求和 (20分)


a, b = input().split()
ans = 0
for i in range(1, int(b)+1):
    ans += int(a*i)
    # print(a*i)
print("s = %s"%ans)

第2章-5 求奇数分之一序列前N项和 (15分)

n = int(input())
s = 0.0
index = 1
for i in range(0, n):
    s += 1.0/index
    index += 2
print("sum = {:.6f}".format(s))

第2章-6 求交错序列前N项和 (15分)

n = int(input())
index = 1
s = 0.0
for i in range(1, n+1):
    if i % 2 == 0:
        s -= i/index
    else:
        s += i/index
    index += 2
print("{:.3f}".format(s))

第2章-7 产生每位数字相同的n位数 (30分)

a, b = input().split(",")
print(a.strip()*int(b))

第2章-8 转换函数使用 (30分)

a, b = input().split(",")
print(int(a, int(b)))

第2章-9 比较大小 (10分)

lst = list(map(lambda x: int(x), input().split()))
lst.sort()
print("{}->{}->{}".format(lst[0], lst[1], lst[2]))

第2章-10 输出华氏-摄氏温度转换表 (15分)

a, b = input().split()
if int(a) > int(b):
    print("Invalid.")
else:
    print("fahr celsius")
    for i in range(int(a), int(b)+1, 2):
        print("{}{:6.1f}".format(i, 5*(i-32)/9))

第2章-11 求平方与倒数序列的部分和 (15分)

a, b = input().split()
s = 0.0
for i in range(int(a), int(b)+1):
    s += i*i + 1/i
print("sum = {:.6f}".format(s))

第2章-12 输出三角形面积和周长 (15分)

from math import sqrt
a, b, c = map(lambda x: float(x), input().split())
if a + b <= c or a + c <= b or b + c <= a:
    print("These sides do not correspond to a valid triangle")
else:
    p = (a+b+c)/2
    area = sqrt(p*(p-a)*(p-b)*(p-c))
    perimeter = a+b+c
    print("area = {:.2f}; perimeter = {:.2f}".format(area, perimeter))

第2章-13 分段计算居民水费 (10分)

a = float(input())
ans = 0.0
if a <= 15:
    ans = a*4/3
else:
    ans = 2.5*a - 17.5
print("{:.2f}".format(ans))

第2章-14 求整数段和 (15分)

a, b = map(lambda x: int(x), input().split())
index = 0
s = 0
for i in range(a, b+1):
    print("{:5d}".format(i), end="")
    index += 1
    s += i
    if index % 5 == 0:
        print()
if index % 5 != 0:
    print()
print("Sum = %s"%s)

第3章-1 3-1.大于身高的平均值 (10分)

lst = list(map(lambda x: int(x), input().split()))
avg = sum(lst)/len(lst)
for x in lst:
    if x > avg:
        print(x, end=" ")

第3章-2 查验身份证 (15分)

n = int(input())
dic = {0: '1', 1: '0', 2: 'X', 3: '9', 4: '8', 5: '7', 6: '6', 7: '5', 8: '4', 9: '3', 10: '2'}
weight = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
lst = []
for i in range(n):
    b = input()
    s = 0
    u = 0
    for x in b[:-1]:
        if not x.isdigit():
            u = 1
    if u == 1:
        lst.append(b)
        continue
    for x in b[:-1]:
        s += (ord(x)-ord('0'))*weight[u]
        u += 1
    if ord(dic[s % 11]) != ord(b[-1]):
        lst.append(b)

if len(lst) == 0:
    print("All passed")
else:
    for x in lst:
        print(x)

第3章-3 输出字母在字符串中位置索引 (20分)

s = input()
a, b = input().split()
for i in range(len(s)-1, 0, -1):
    if ord(s[i]) == ord(b[0]):
        print(i, b)
for i in range(len(s)-1, 0, -1):
    if ord(s[i]) == ord(a[0]):
        print(i, a)

第3章-4 查找指定字符 (15分)

c = input()
s = input()
index = -1
for i in range(len(s)):
    if ord(s[i]) == ord(c[0]):
        index = i
print("index = %s" % index if index != -1 else "Not Found")

第3章-5 字符转换 (15分)

a = input()
print(int("".join([x for x in a if x.isdigit()])))

第3章-6 求整数序列中出现次数最多的数 (15分)

from collections import Counter
lst = list(map(lambda x: int(x), input().split()))
ans = Counter(lst[1:]).most_common(1)[0]
print(ans[0], ans[1])

第3章-7 求最大值及其下标 (20分)

n = int(input())
lst = list(map(lambda x: int(x), input().split()))
index = 0
for x in range(n):
    if lst[x] > lst[index]:
        index = x
print("%d %d" % (lst[index], index))

第3章-8 字符串逆序 (15分)

a = input()
print(a[::-1])

第3章-9 字符串转换成十进制整数 (15分)

a = input().split("#")[0].lower()
b = ['a','b','c','d','e','f']
countN = 0
for x in a:
    if ord(x) == ord('-'):
        countN += 1
    if x.isdigit() or x in b:
        break
lst = [x for x in a if x.isdigit() or x in b]
if len(lst)==0:
    print(0)
else:
    print(int("".join(lst), 16) if countN == 0 else -int("".join(lst), 16))

第3章-10 统计大写辅音字母 (15分)

res = sum([1 if ch.isalpha() and ch.isupper() and ch not in set(["A", "O", 'E', 'I', 'U']) else 0 for ch in input()])
print(res)

第3章-11 字符串排序 (20分)

a = input().split()
a.sort()
print("After sorted:")
for key in a:
    print(key)

第3章-12 求整数的位数及各位数字之和 (15分)

x = input()
a = len(x)
b = 0
for i in x:
    b = b + int(i)
print(a, b)

第3章-13 字符串替换 (15分)

x = input()
for ch in x:
    if ch.isupper():
        ch = chr(ord('Z') - ord(ch) + ord('A'))
    print(ch, end = "")

第3章-14 字符串字母大小写转换 (15分)

x = input()
for ch in x:
    if ch.isupper():
       ch = ch.lower()
    elif ch.islower():
        ch = ch.upper()
    elif ord(ch)==ord('#'):
        break
    print(ch, end = "")

第3章-15 统计一行文本的单词个数 (15分)

print(len(input().split()))

第3章-16 删除重复字符 (20分)

x = set(input())
y = list(x)
y.sort()
print("".join(y))

第3章-17 删除字符 (30分)

a = input().strip()
b = input().strip()
print("result: ", end="")
for x in a:
    if ord(b[0]) == ord(x) or ord(x.lower()) == ord(b[0]) or ord(x.upper()) == ord(b[0]):
        continue
    else:
        print(x, end="")

第3章-18 输出10个不重复的英文字母 (30分)

a = input()
newa = []
for x in a:
    if x not in newa and x.upper() not in newa and x.lower() not in newa:
        newa.append(x)
lst =[x for x in newa if x.isalpha()]
print("".join(lst[:10]) if len(lst) >= 10 else "not found")

第3章-19 找最长的字符串 (15分)

n = int(input())
ans = ""
for i in range(n):
    b = input()
    if len(b) > len(ans):
        ans = b

print("The longest is: %s"%ans)

第3章-20 逆序的三位数 (10分)

a = input()
b = a[::-1]
i = 0
while ord(b[i]) == ord('0'):
    i += 1
print(b[i:])

第3章-21 判断回文字符串 (15分)

a = input()
b = a[::-1]
print(a)
print("Yes" if a == b else "No")

第3章-22 输出大写英文字母 (15分)

lst = input()
ans = ""
for x in lst:
    if x.isupper() and x not in ans:
        ans += x
print(ans if len(ans) > 0 else "Not Found")
  • 5
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答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编程技能。通过解答其中的题目,学生不仅可以提高编程能力,还可以培养问题分析和算法设计的思维方式,为将来的软件开发和科学研究打下坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值