10.6精选练习-[Python]

By | 2022年1月6日

一、选择题

1–5  ACDAC

6-8   ADC   

二、填空题

1.  pip

2.  sqrt

3.  3

4.  2

5.  max()

6.  min()

7.  sum()

8.  D FALSE

9.  2.0

10.  True

11.  from a import A

12.  pyopengl

13.  PIL   pillow

14.  import

15.  BBB

三、判断题

1–5  TFTTT

6-10 TFTFT

11-15 FTTTF

四、问答题

1.在Python中导入模块中的对象有哪几种方式?

(1)import 模块名 [as 别名];2)from 模块名 import 对象名[ as 别名];3)from math import *)

 

2.异常和错误有什么区别?

异常是指因为程序执行过程中出错而在正常控制流以外采取的行为。严格来说,语法错误和逻辑错误不属于异常,但有些语法错误往往会导致异常,例如由于大小写拼写错误而访问不存在的对象,或者试图访问不存在的文件等。

 

3.阅读下面的代码,并分析假设文件“D:\test.txt”不存在的情况下两段代码可能发生的问题。

代码1:

>>>try:

    fp = open(r'd:\test.txt')

    print('Hello world!', file=fp)

finally:

    fp.close()

代码2:

>>> try:

    fp = open(r'd:\test.txt', 'a+')

    print('Hello world!', file=fp)

finally:

    fp.close()

答:

假设文件“D:\test.txt”不存在,那么第一段代码会抛出异常,提示fp没有定义;第二段代码执行正常。原因是第二段代码使用内置函数open()打开指定文件时如果不存在则会创建该文件,从而不会抛出异常。

 

五、编程题

1.绘制一个椭圆。

参考代码如下:

if __name__ == '__main__':

    from tkinter import *

    x = 360

    y = 160

    top = y – 30

    bottom = y – 30

   

    canvas = Canvas(width = 400,height = 600,bg = 'white')

    for i in range(20):

        canvas.create_oval(250 – top,250 – bottom,250 + top,250 + bottom)

        top -= 5

        bottom += 5

    canvas.pack()

    mainloop()

 

2.利用ellipse 和 rectangle 画图。。

参考代码如下:

if __name__ == '__main__':

    from tkinter import *

    canvas = Canvas(width = 400,height = 600,bg = 'white')

    left = 20

    right = 50

    top = 50

    num = 15

    for i in range(num):

        canvas.create_oval(250 – right,250 – left,250 + right,250 + left)

        canvas.create_oval(250 – 20,250 – top,250 + 20,250 + top)

        canvas.create_rectangle(20 – 2 * i,20 – 2 * i,10 * (i + 2),10 * ( i + 2))

        right += 5

        left += 5

        top += 10

 

    canvas.pack()

    mainloop()

 

3.时间函数

参考代码如下:

if __name__ == '__main__':

    import time

    start = time.time()

    for i in range(3000):

        print(i)

    end = time.time()

    print (end – start)

 

4.字符串日期转换为易读的日期格式。

参考代码如下:

from dateutil import parser

dt = parser.parse("Aug 28 2015 12:00AM")

print (dt)

 

5.利用random库生成一个包含10个0-100之间随机整数的列表

参考代码如下:

import random
for i in range(10):
    x=random.randint(0,100)
    print(x)

 

6.编写程序模拟猜数游戏。程序运行时,系统生成一个随机数,然后提示用户进行猜测,

并根据用户输入进行必要的提示(猜对了、太大了、太小了),如果猜对则提前结束程序,

如果次数用完仍没有猜对,提示游戏结束并给出正确答案。

参考代码:

from random import randint

def guessNumber(maxValue=10, maxTimes=3): # 随机生成一个整数

value = randint(1,maxValue)

for i in range(maxTimes):

prompt = 'Start to GUESS:' if i==0 else 'Guess again:'

# 使用异常处理结构,防止输入不是数字的情况

try:

x = int(input(prompt))

except:

print('Must input an integer between 1 and ', maxValue)

else:

if x == value:  # 猜对了

print('Congratulations!')

break

elif x > value:

print('Too big')

else:

print('Too little')

else: # 次数用完还没猜对,游戏结束,提示正确答案

print('Game over. FAIL.')

print('The value is ', value)

guessNumber()