栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python题库程序填空

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python题库程序填空

程序填空

1. # 请写代码替换横线,不修改其它代码,实现以下功能:

# 使用turtle库的turtle.seth()函数和turtle.fb()函数绘制一个每方向100像素的长度的十字型,如图所示:

 

# 请在______处使用一行代码或表达式替换

#

# 注意:请不要修改其他已给出代码

 

import turtle

for i in range(4):

   turtle.fd(100)

   ######FILL######

   ___(1)___(-100)

   ######FILL######

   ___(2)___((i+1)*90)

 

【空 1 】    turtle.fd(-100)

【空 2 】    turtle.seth((i+1)*90)

 

 

2. # 请写代码替换横线,不修改其它代码,实现以下功能:

# 使用turtle库的turtle.seth()函数和turtle.fb()函数绘制一个菱形,边长200像素,4个内角度数为90度,如下图:箭头与图片保持一致。

 

 

# 请在______处使用一行代码替换

#

# 注意:请不要修改其他已给出代码

 

import turtle

turtle.pensize(2)

######FILL######

d = ____(1)____

for i in range(4):

   turtle.seth(d)

   ######FILL######

   d  += ____(2)____

   ######FILL######

   turtle.fd(____(3)____)

 

 

【空 1 】    d = -45

【空 2 】    d  += 90

【空 3 】    turtle.fd(200)

 

 

3. # 请写代码替换横线,不修改其它代码,实现以下功能:

# 使用turtle库的turtle.right()函数和turtle.fb()函数绘制一个菱形,边长200像素,4个内角度数为2个60度和2个120度,如下图:

 

# 请在______处使用一行代码或表达式替换

#

# 注意:请不要修改其他已给出代码

 

import turtle

turtle.right(-30)

######FILL######

___(1)___

turtle.right(60)

turtle.fd(200)

######FILL######

___(2)___

turtle.fd(200)

turtle.right(60)

turtle.fd(200)

turtle.right(120)

 

【空 1 】    turtle.fd(200)

【空 2 】    turtle.right(120)

 

 

4. # 请写代码替换横线,不修改其它代码,实现以下功能:

# 使用turtle库的turtle.seth()函数和turtle.fb()函数绘制一个等边三角形,边长200像素,效果如图所示:

 

# 请在______处使用一行代码或表达式替换

#

# 注意:请不要修改其他已给出代码

######FILL######

import turtle as ___(1)___

######FILL######

for i in range(___(2)___):

   ######FILL######

   ___(3)___(i*120)

   t.fd(200)

 

【空 1 】    import turtle as t

【空 2 】​ for i in range(3):

【空 3 】    t.seth(i*120)

 

 

5. #点击答题开始作答

#请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

#不得增行或删行,也不得更改程序的结构!

#题目:判断101-200之间有多少个素数,并输出所有素数。(判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。)

#结果如下图

 

(上图倒过来看哈)

h = 0

leap = 1

from math import sqrt

from sys import stdout

for m in range(101,201):

   k = int(sqrt(m + 1))

   for i in range(2,k + 1):

       if m % i == 0:

           leap = 0

           break

   if leap == 1:

       print ('%-4d' % m)

       ######FILL######

       h += ____

       if h % 10 == 0:

           print ('')

   leap = 1

######FILL######

print ('The total is %d' % ___)

 

【空 1 】   1

【空 2 】   h

 

 

6. #从键盘输入 4 个数字,各数字采用空格分隔,对应为变量 x0 , y0 , xl , yl 。

#计算两点( x0 , y0)和( x1 , yl )之间的距离.屏幕输出这个距离.保留 2 位小数。例如:键盘输入: 0 1 3 5 屏幕输出: 5 . 00

# 请在______处使用一行代码或表达式替换

#

# 注意:请不要修改其他已给出代码

 

ntxt = input("请输入4个数字(空格分隔):")

######FILL######

______

x0 = eval(nls[0])

y0 = eval(nls[1])

x1 = eval(nls[2])

y1 = eval(nls[3])

######FILL######

r = pow(pow(x1-x0, 2) + pow(y1-y0, 2), ______) 

print("{:.2f}".format(r))

 

【空 1 】    nls=ntxt.split()

【空 2 】​ 0.5

 

7. #请写代码替换横线.不修改其它代码.实现以下功能:键盘输入正整数 n ,

#按要求把 n 输出到屏幕.格式要求:宽度为 20 个字符.减号字符"-"填充,

#右对齐,带千位分隔符。如果输入正整数超过 20字符,

#则按真实长度#输出。

#例如:键盘输入正整数 n 为 1234 .屏幕输出--------------1 , 234    (14个)

# 请在______处使用一行代码或表达式替换

# 注意:请不要修改其他已给出代码

 

n = eval(input("请输入正整数:"))

######FILL######

print("{______}".format(n))

 

【空 1 】    print("{:->20,}".format(n))

 

 

8. #点击答题开始作答

#请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

#不得增行或删行,也不得更改程序的结构!

#求一个3*3矩阵对角线元素之和 如输入 

#1,2,3

#1,2,3

#1,2,3 结果为6.0

 

a = []

sum = 0.0

######FILL######

for i in range(____):

   a.append([])

   for j in range(3):

       a[i].append(float(input("input num:n")))

for i in range(3):

   ######FILL######

   sum += a[__][__]

print (sum)

 

【空 1 】    3

【空 2 】    a[i][i]

 

 

9. # 请写代码替换横线,不修改其它代码,实现以下功能:

# 根据斐波那契数列的定义,F(0)=0,F(1)=1,F(n)=F(n-2)+F(n-2)(n>=2),

# 输出不大于100的序列元素。

# 例如:屏幕输出实例为:

# 0,1,1,2,3,...(略)

# 请在______处使用一行代码或表达式替换

# 注意:请不要修改其他已给出代码

a, b = 0, 1

######FILL######

while ______:

   print(a, end=',')

   ######FILL######

   a, b = ______

 

【空 1 】    while a<=100:

【空 2 】    a, b = b,a+b

 

 

10. #点击答题开始作答

#请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

#如输入 year 2020 month 12 day 20  结果为it is the 355th day.

#不得增行或删行,也不得更改程序的结构

#题目:输入某年某月某日,判断这一天是这一年的第几天?

 

year = int(input('year:n'))

month = int(input('month:n'))

day = int(input('day:n'))

months = (0,31,59,90,120,151,181,212,243,273,304,334)

if 0 <= month <= 12:

   sum = months[month - 1]

else:

   print ('data error')

sum += day

leap = 0

if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):

   leap = 1

if (leap == 1) and (month > 2):

   ######FILL######

   sum += _____

######FILL######

print ('it is the %dth day.' % _____)

 

【空 1 】     1

【空 2 】     sum

 

 

11. #点击答题开始作答

#请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

#结果为 

#不得增行或删行,也不得更改程序的结构!

#有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

for i in range(1,5):

       ######FILL######

       for____in range(1,5):

               for k in range(1,5):

                       ######FILL######

                       if( ______ ) and (i != j) and (j != k):

                               print(i,j,k)

 

 

【空 1 】    j

【空 2 】    i!=k

 

 

12. #点击答题开始作答

#请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

#不得增行或删行,也不得更改程序的结构!

#题目 利用选择法,对10个数进行排序。

if __name__ == "__main__":

   N = 10

   # input data

   print ('please input ten num:n')

   l = []

   for i in range(N):

       l.append(int(input('input a number:n')))

   print

   for i in range(N):

       ######FILL######

       print (___)

   print()

   # sort ten num

   for i in range(N - 1):

       min = i

       for j in range(i + 1,N):

           if l[min] > l[j]:min = j

       l[i],l[min] = l[min],l[i]

   print ('after sorted')

   for i in range(N):

       ######FILL######

       print (____)

 

 

【空 1 】    l[i]

【空 2 】​ l[i]

 

 

13. '''

请写代码替换横线,不修改其它代码,实现以下功能:

fun函数的功能是根据两个直角边x和y,计算并返回斜边的长度。

例如输入:3,5

输出参考格式如下,其中冒号为英文冒号:

斜边的长度为2.8

''' 

# 请在______处使用一行代码或表达式替换

# 注意:请不要修改其他已给出代码

def fun(x,y):

######FILL######

   return___1____

######FILL######

a,b=eval(__2__('请输入两条直角边,以逗号分隔:'))

######FILL######

print('斜边的长度为"{:.1f}'.format(__3__))

 

【空 1 】    (x**2+y**2)**0.5

【空 2 】     input

【空 3 】     fun(a,b)

 

 

14. '''

请写代码替换横线,不修改其它代码,实现以下功能:

列表list1中保存了6名参赛选手的评委打分,每组有5位评委,计算每组选手的得分。(计算规则:去掉最高分和最低分,剩下的计算平均分作为选手的最后得分。)其中函数df用来计算选手得分。

例如:输出参考格式如下:

第1名选手的得分是7.9

第2名选手的得分是8.3

第3名选手的得分是8.3

第4名选手的得分是7.2

第5名选手的得分是8.7

第6名选手的得分是8.1

''' 

# 请在______处使用一行代码或表达式替换

# 注意:请不要修改其他已给出代码

def df(ls):

######FILL######

   return (sum(ls)-max(ls)-min(ls))/(len(ls)___1____)

list1=[[7,8,7.5,8.3,8.2],

      [8,8.3,8.5,8.8,8.2],

      [9,8,7.5,8.3,8.2,8.8],

      [6,7,7.5,7.3,7.2],

      [8,9,9,8,10],

      [7.5,8.8,9,8,7]]

for i in range(6):

######FILL######

   print("第{}名选手的得分是{__2__}".format(i+1,df(list1[i])))

 

【空 1 】     -2

【空 2 】    {:.1f}

 

15. '''

请写代码替换横线,不修改其它代码,实现以下功能:

​编写函数,判断正整数是否为素数,并打印100以内的所有素数,以空格分隔。

例如:

输出参考格式如下:

2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

''' 

# 请在______处使用一行代码或表达式替换

# 注意:请不要修改其他已给出代码

 

def n_is_prime(n):

   '''

   判断正整数 n 是否为素数

   素数,返回 True

   非素数。返回 False

   '''

   for i in range(2,n):

       if n % i == 0:

           return False

   else:

       return True

def main():

######FILL######

   for n in range(2,__1__):

       if n_is_prime(n):

######FILL######

           print(n,__2__)

           

main()

 

【空 1 】    101

【空 2 】​ end=" "

 

16. '''

请写代码替换横线,不修改其它代码,实现以下功能:

找到2到100中所有的孪生素数。孪生素数就是指相差2的素数对,例如3和5,5和7,11和13等。

例如:

输出参考格式如下:

( 3  , 5  )

( 5  , 7  )

( 11 , 13 )

( 17 , 19 )

( 29 , 31 )

( 41 , 43 )

( 59 , 61 )

( 71 , 73 )

''' 

# 请在______处使用一行代码或表达式替换

# 注意:请不要修改其他已给出代码

 

def prime(n):

   for i in range(2,n):

######FILL######

       if n%i__1__:

           return False

   else:

       return True

for i in range(2,100+1):

   if prime(i)==True and prime(i+2)==True:

       print("({:^4},{:^4})".format(i,i+2))

 

【空 1 】​  ==0

 

 

17. '''

请写代码替换横线,不修改其它代码,实现以下功能:

功能:编写一个函数,返回两个整数本身,以及它们的商和余数是多少。

例如:

输入格式:

两个整数是:10和20

输出参考格式如下:

它们的商是: 0

余数是: 10

''' 

# 请在______处使用一行代码或表达式替换

# 注意:请不要修改其他已给出代码

 

def fun(a,b):

######FILL######

   return(a,b,__1__,a%b)

 

n1,n2,m,d=fun(10,20)

######FILL######

print("两个整数是:{}和{}".format(n1,__2__))

print("它们的商是:",m)

print("余数是:",d)

 

 

【空 1 】    a//b

【空 2 】    n2

 

 

18. # 请写代码替换横线,不修改其它代码,实现随机选择一个手机品牌屏幕输出。

# 请在______处使用一行代码替换

# 注意:请不要修改其他已给出代码

######FILL######

import ______

brandlist = ['华为','苹果','诺基亚','OPPO','小米']

######FILL######

name=______

print(name)

 

【空 1 】​  import random

【空 2 】​  random.choice(brandlist)

 

 

19. # 请写代码替换横线,不修改其它代码,实现以下功能:

# 以123为随机数种子,随机生成10个在1(含)到999(含)之间的随机数,每个随机数后跟随一个逗号进行分隔,屏幕输出这10个随机数。

# 请在______处使用一行代码或表达式替换

#

# 注意:请不要修改其他已给出代码

 

import random

######FILL######

________

######FILL######

for i in range(______):

   ######FILL######

   print(____________, end=",")

 

【空 1 】     random.seed(123)

【空 2 】​  for i in range(10):

【空 3 】​  print(random.randint(1,1000), end=",")

 

 

20. #点击答题开始作答

#请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

#结果为 21 261 1581

#不得增行或删行,也不得更改程序的结构!

#题目:在10万以内判断,一个整数,它加上100后是一个完全平方数,再加上268又是一个完全平方数,请问该数是多少?

 

 

import math

for i in range(100000):

   #转化为整型值

   x = int(math.sqrt(i + 100))

 

   ######FILL######

   y = int(math.sqrt(i + ___))

 

   ######FILL######

   if(x * x == i + 100) and (y * y == ______):

       print (i)

 

【空 1 】​  268

【空 2 】     i+268         268+i

 

21. # 请写代码替换横线,不修改其它代码,实现以下功能:

# 根据斐波那契数列的定义,F(0)=0,F(1)=1,F(n)=F(n-2)+F(n-1)(n>=2),

# 输出不大于100的序列元素。

# 例如:屏幕输出实例为:

# 1,1,2,3,...(略)

# 请在______处使用一行代码或表达式替换

# 注意:请不要修改其他已给出代码

 

a, b = 1, 1

######FILL######

while ______:

   print(a, end=',')

   ######FILL######

   a, b = ______

 

【空 1 】     while a<=100:

【空 2 】​  a, b = b,a+b

 

 

22. #点击答题开始作答

#请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

#结果如下图:

 

#不得增行或删行,也不得更改程序的结构!

#题目:用*号输出字母P的图案。

######FILL######

print ('Hello Python world!____')

print ('*' * 10)

for i in range(5):

   print ('*        *')

print ('*' * 10)

######FILL######

 

 

【空 1 】      n

【空 2 】      *n

 

 

23. #点击答题开始作答

#请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

#不得增行或删行,也不得更改程序的结构!

#打印出如下图案(菱形)

 

from sys import stdout

######FILL######

for i in range(___):

   for j in range(2 - i + 1):

       stdout.write(' ')

   for k in range(2 * i + 1):

       stdout.write('*')

   print()

 

for i in range(3):

   for j in range(i + 1):

       stdout.write(' ')

   for k in range(4 - 2 * i + 1):

       ######FILL######

       stdout.write(___)

   print()

 

 

【空 1 】     4

【空 2 】​  '*'

24. #点击答题开始作答

#请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

#不得增行或删行,也不得更改程序的结构!

#题目:判断101-200之间有多少个素数,并输出所有素数。(判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。)

#结果如下图

 

h = 0

leap = 1

from math import sqrt

from sys import stdout

for m in range(101,201):

   k = int(sqrt(m + 1))

   for i in range(2,k + 1):

       if m % i == 0:

           leap = 0

           break

   if leap == 1:

       print ('%-4d' % m)

       ######FILL######

       h += ____

       if h % 10 == 0:

           print ('')

   leap = 1

######FILL######

print ('The total is %d' % ___)

 

 

【空 1 】​ 1

【空 2 】    h

 

 

25. #点击答题开始作答

#请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

#不得增行或删行,也不得更改程序的结构!

#求一个3*3矩阵对角线元素之和 如输入 

#1,2,3

#1,2,3

#1,2,3 结果为6.0

 

a = []

sum = 0.0

######FILL######

for i in range(____):

   a.append([])

   for j in range(3):

       a[i].append(float(input("input num:n")))

for i in range(3):

   ######FILL######

   sum += a[__][__]

print (sum)

 

【空 1 】     3

【空 2 】     a[i][i]

 

 

 

26. # 请写代码替换横线,不修改其它代码,实现以下功能:

# 键盘输入一段中文文本,不含标点符号和空格,命名为变量s,采用jieba库对其进行分词,输出该文本中词语的平均长度,保留1位小数。

# 例如:键盘输入:吃葡萄不吐葡萄皮   屏幕输出:1.6

# 请在______处使用一行代码或表达式替换

#

# 注意:请不要修改其他已给出代码

 

######FILL######

import ______

txt = input("请输入一段中文文本:")

######FILL######

______

print("{:.1f}".format(len(txt)/len(ls)))

 

 

【空 1 】​  import jieba

【空 2 】​  ls=jieba.lcut(txt)

 

 

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/932468.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号