云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 上海交大2011 - 2012程序设计python期末考试题

上海交大2011 - 2012程序设计python期末考试题

  • 62 次阅读
  • 3 次下载
  • 2025/5/3 9:20:29

c = sList[i-1].getCenter() dx = p.getX() - c.getX() dy = p.getY() - c.getY()

win.getMouse() win.close() main()

请问该程序是否正确?如果不正确,请修改程序。

第 5 页 共 9页

7.写出下面程序的功能。假设文件“original”内容为 Upgrc y npmepyk. Write a program.

那么文件“savetoo”内存储的内容应该是什么? import string def main():

print \ infile = open(\ outfile = open(\ msg = \

for strstr in infile.readlines(): for ichar in strstr:

if ichar >= 'a' and ichar <= 'z': n = ord(ichar) + 2 yn = (n - ord( 'a' ) ) % 26 ch=chr( ord( 'a' ) + yn ) elif ichar >= 'A' and ichar <= 'Z': n = ord(ichar) + 2 yn = ( n - ord( 'A' ) ) % 26 ch = chr( ord( 'A' ) + yn ) else:

ch = ichar msg = msg + ch outfile.write(msg) infile.close() outfile.close() main()

8.修改下面程序使得其能运行正常。 class Box: #Box类 def init(self, l, w, h): self.length = l self.width = w self.height = h

def volume( ): //计算Box的体积 return length * width * height

b = Box(4, 5, 6) print b.volume()

第 6 页 共 9页

四. 程序填空(每空1分,共15分)

1.下列程序的作用是将输入的字符串中的每个字符的ASCII码形成一个列表。例如,输入为abcde时,输出为[97, 98, 99, 100, 101]。请补充完整。 def main():

str = raw_input(“请输入一个字符串:”) output = []

for i in range( ): num = output. (num) print output main()

2.请补充完整mergesort程序。 def merge(lst1, lst2, lst3): i1 = i2 = i3 = 0

n1, n2 = len(lst1), len(lst2) while i1 < n1 and i2 < n2:

if lst1[i1] < lst2[i2]: # copy from lst1 lst3[i3] = lst1[i1] i1 = i1 + 1

else: # copy from list2 lst3[i3] = lst2[i2] i2 = i2 + 1

# item added to lst3 while lst3[i3] = lst1[i1] i1 = i1 + 1 i3 = i3 + 1 while lst3[i3] = lst2[i2] i2 = i2 + 1 i3 = i3 + 1

def mergeSort(lst): n = len(lst)

if m = n / 2

lst1, lst2 = mergeSort(lst1) mergeSort(lst2) merge(lst1, lst2, lst)

第 7 页 共 9页

3.下面程序的作用是显示输入的三个整数的最大值和最小值,请补充完整。 def main():

x,y,z = input(\ max,min = f(x,y,z)

print \

def f(a,b,c):

if (b>max): max = b if (c>max): max = c if (b

main()

4.下面程序的作用是打印一个由随机字符(* 或者 #)组成的等腰三角形,请补充完整。 from from string import * def main():

lines=input(\ for i in range(lines):

character=''

for j :

if : mark='*' else:

mark='#'

print space+character main()

第 8 页 共 9页

五. 程序设计(共20分)

1.计算1-1/2+1/3-1/4…+1/99-1/100+…直到最后一项的绝对值小于10-4为止。(5分)

2.编程模拟一个与计算机扔骰子猜大小的游戏。每次游戏采用三局两胜,计算机扔一个骰子,其中1,2,3算为小,4,5,6算为大。用户每次可以猜大或者猜小,猜中则用户赢,否则计算机赢。如程序的一次运行情况如下: Please input your guess(big/small): small You are wrong.

Please input your guess(big/small): dfdfd Please input your guess(big/small): big You are right.

Please input your guess(big/small): big You are wrong. You lost this round Play again?(y/n): ddd Play again?(y/n): n

You played 1 rounds, and you won 0 rounds 要求:尽可能用到模块化程序设计的思想。(15分)

第 9 页 共 9页

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

c = sList[i-1].getCenter() dx = p.getX() - c.getX() dy = p.getY() - c.getY() win.getMouse() win.close() main() 请问该程序是否正确?如果不正确,请修改程序。 第 5 页 共 9页 7.写出下面程序的功能。假设文件“original”内容为 Upgrc y npmepyk. Write a program. 那么文件“savetoo”内存储的内容应该是什么? import string def main(): print \ infile = open(\ outfile = open(\

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com