目录

判断题

选择题

        编程题

7-1 计算水费

    7-2 今天过后,明天是几号啊

                7-3 s=1+2+3+...+n直到s>=m

                7-4 水仙花数


判断题

1-1 在if-elif-else结构中,else子句是可选的。(T)

1-2 Python可以比较字符串,但不区分大小写。(F)

1-3 布尔表达式,表示对和错的单词既可以大写,也可以使用小写,如:ture,TRUE。(F)

1-4 Python中if语句冒号后的语句块中的所有语句的缩进必须相同。(T)

1-5 if语句可以同时进行多个条件判断,使用”or“作为连接。只要其中一个条件成立,该项结果为TRUE。(T)

1-6 循环结构中的continue语句是使整个循环终止执行。(F)

1-7 break语句只能用于循环语句中。(T)

1-8 如果仅仅是用于控制循环次数,那么使用for i in range(20)和for i in range(20, 40)的作用是等价的。(T)

1-9 在循环中continue语句的作用是退出循环的当前迭代。(T)

1-10 下面程序输入36,输出是10。(F)

a=[3,5,7,11,13,16,21,24,28,32,36,40,46]
x = int(input())
found = -1
left = 0                      #第一个元素下标
right = len(a)-1              #最后一个元素下标
while left<right:
    mid = (left + right) // 2
    if a[mid] > x:
        right = mid - 1
    elif a[mid] < x:
        left = mid + 1
    else:                     # a[mid]==x
        found = mid
        break
print(found)

选择题

2-1 下面(D)语句的写法是正确的。

A.if s=4

B.if s=4:

C.if s==4

D.if s==4:

2-2 给定x = 5,y = 3,z = 8,以下布尔表达式的结果是什么?(B)
not (x < y or z > x) and y < z

A.True

B.False

C.8

D.5

2-3 在Python中,__________符号用作相等运算符。(A)

A.==

B.<>

C.<=

D.!=

2-4 Python过程化程序设计的三种基本程序控制结构是(A

A.顺序结构、选择结构、循环结构

B.输入、处理、输出

C.for、while、if

D.复合语句、基本语句、空语句

2-5 下面有关Python语言中if语句的描述,错误的是( C)。

A.if语句可以实现单分支、双分支及多分支选择结构

B.若if语句嵌套在else子句中,可以简写为elif子句

C.满足if后的条件时执行的多条语句需用大括号括起来

D.if的条件之后、else之后都需要带冒号

2-6 continue语句用于______.(B)

A.退出循环程序

B.结束本次循环

C.空操作

D.根据if语句的判断进行选择

2-7 关于Python循环结构,以下选项中描述错误的是(C)

A.遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函数等

B.break用来跳出最内层for或者while循环,脱离该循环后程序从循环代码后继续执行

C.每个continue语句只有能力跳出当前层次的循环

D.Python通过for、while等保留字提供遍历循环和无限循环结构

2-8 for或者while与else搭配使用时,关于执行else语句块描述正确的是(B)

A.仅循环非正常结束后执行(以break结束)

B.仅循环正常结束后执行

C.总会执行

D.永不执行

2-9 下面程序输入1时,输出是什么?。(B)

num=int(input())
a=num-1
while a>1:
   if num % a == 0:
        print("不是素数")
        break
   a=a-1
else:
   print("是素数")

A.不是素数

B.是素数

C.没有输出

D.出现异常

2-10 关于range()函数,下面说法不正确的是(B)

A.range()函数中的参数可以是一个,二个或三个

B.range(5)和range(0:5)是等价的

C.range(5)和range(0,5,1)是等价的

D.range(ord('a'),ord('z'))是合法的


编程题

7-1 计算水费

        分数: 10                        作者 :季江民                        单位: 浙江大学

为鼓励居民节约用水,自来水公司采取按用水量阶梯式计价的办法,居民应交水费y(元)与月用水量x(吨)相关:当x不超过15吨时,y=4x/3;超过后,y=2.5x−17.5,小数部分保留2位(使用round函数)。请编写程序实现水费的计算。

输入格式:

输入用水量

输出格式:

输出水费

输入样例:
8.5
输出样例:
11.33
运行:
x = eval(input())
if x<=15 and x>=0:
    y = 4 * x / 3.0
elif x>15:
    y = 2.5 * x -17.5
print(round(y,2))

7-2 今天过后,明天是几号啊

        分数: 20                        作者: 马杨珲                单位 :浙江科技学院

输入今天的日期,输出明天的日期。

提示:每年的1月、3月、5月、7月、8月、10月、12月有31天,4月、6月、9月、11月有30天,闰年的2月有29天,非闰年的2月是28天。闰年的年号:能被4整除但不能被100整除,或者能被400整除。

输入格式:

按照指定的格式输入今天的日期,如:2009-5-12

输出格式:

按照指定的格式输出明天的日期,如:2009-5-13

输入样例1:
2009-5-12
输出样例1:
2009-5-13
输入样例2:
2009-5-31
输出样例2:
2009-6-1
输入样例3:
2009-12-31
输出样例3:
2010-1-1
运行: 
a,b,c=map(int,input().split('-'))
if b==1 or b==3 or b==5 or b==7 or b==8 or b==10 or b==12:
    c=c+1
    if c==32:
        c=1
        b=b+1
        if b==13:
            b=1
            a=a+1
elif b==4 or b==6 or b==9 or b==11:
    c=c+1
    if c==31:
        c=1
        b=b+1
elif(a%4==0 and a%100!=0) or a%400==0:
    c=c+1
    if c==30:
        c=1
        b=b+1
else:
    c=c+1
    if c==29:
        c=1
        b=b+1
print("%d-%d-%d"%(a,b,c))

7-3 s=1+2+3+...+n直到s>=m

        分数 :15                作者:周全书                单位 :浙江理工大学

s=1+2+3+...+n,当s刚超过某个数时,停止运算。求n和s的值

输入格式:

例如:输入1000

输出格式:

输出格式 :1035=1+2+...+45

输入样例:

在这里给出一组输入。例如:

1000
输出样例:

在这里给出相应的输出。例如:

1035=1+2+...+45
输入样例:

在这里给出一组输入。例如:

10000
输出样例:

在这里给出相应的输出。例如:

10011=1+2+...+141
运行: 
n = int(input())
i=0
s=0
for i in range(0,n):
    i=i+1
    s=s+i
    if s>n:
        break
print("{}=1+2+...+{}".format(s,i))

7-4  水仙花数

        分数 :15                作者 :陈春晖                单位 :浙江大学

水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。
例如:153=1×1×1+5×5×5+3×3×3。

本题要求编写程序,计算所有N位水仙花数。

输入格式:

输入在一行中给出一个正整数N(3≤N≤5)

输出格式:

按递增顺序输出所有N位水仙花数,每个数字占一行。

输入样例:

在这里给出一组输入。例如:

3
输出样例:

在这里给出相应的输出。例如:

153
370
371
407
运行: 
n = int(input())
for num in range(10**(n-1),10**n):
    i = num
    sum = 0
    while(i>0):
        a=i%10
        sum+=a**n
        i=i//10
    if sum ==num:
        print(sum)