目录
判断题
选择题
编程题
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)