选择题
1、python过程化程序设计的三种基本程序控制结构是( ).
A.顺序结构、选择结构、循环结构
B.输入、处理、输出
C.for、while、if
D.复合语句、基本语句、空语句
答案:A
2、下面有关if语句的描述,错误的是( ).
A.if语句可以实现单分支、双分支及多分支选择结构
B. 若if语句嵌套在else子句中,可以简写为elif子句
C.满足if后的条件时执行的多条语句需用大括号括起来
D.if的条件之后,else之后都需要带冒号
答案:C
3、下面有关for循环的描述,正确的是( ).
A.for循环的循环体中改变循环变量将影响循环的执行次数
B.在for循环的else子句中,循环变量的值不再处于可迭代对象范围内
C.在for循环中,不能用break跳出循环体
D.for循环通常用于循环次数确定的情况
答案:D
4、下面有关while循环的描述,错误的是( ).
A.while循环的循环体中通常有多条语句,而且这些语句的缩进量应一致.
B.在while循环的else子句中循环条件是不成立的.
C.while True循环中应有结束循环的语句,例如break语句
D.while 循环不能用于循环次数确定的情况
答案:D
5、若有a=[i*i for i in range(3,6)],则a为( )。
A.[9,16,25,36]
B.[]9,16,25]
C.[4,9,16]
D.以上都错
答案:B
6、若有a=[2*i for i in range(3,0,-1)],则a为( ).
A.[6,4,2]
B.[6,4,2,0]
C.[6,0,-2]
D.以上都错
答案:A
7、关于下列代码段的说法,正确的是( )
k=10
while k%3==0:
k-=1
A.循环体语句一次都不执行
B.循环体语句执行无数次
C.循环体语句执行11次
D.以上答案都错
答案:A
8、以下是无限循环的语句为( )
A.for i in “abcde”:print(i)
B.for i in range(3,10,-1):print(i)
C.i=1
while True:print(i);i+=1;continue
D.i=1
while True:print(i);i+=1;break
答案:C
9、以下代码段的执行结果是( ).
for i in range(1,4)
for j in range(1,4):
print("%3d"%(i*j),end='')
if j%2 == 0:break
if j==4:break
print()
A.1 2
B.1 2 2 4 3 6
C 1 2 3 2 4 6 3 6 9
D.以上都错
答案:B
编程题
练习1:输入输出练习(1)(HLOJ)
Problem Description
共有T组测试数据,每组测试求n个整数之和.
Input
首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试先输入数据个数n,然后再输入n个整数,数据之间以一个空格间隔。
Output
对于每组测试,在一行上输出n个整数之和.
Sample Input
2
4 1 2 3 4
5 1 8 3 4 5
Sample Output
10
21
练习1:算法思想
- 获取输入个数
- 剥离出首位
- 进行求和
练习1:代码及运行结果
T = int(input())
for i in range(T):
n = input().split(' ')
n = n[1:]
n = [int(i) for i in n]
print(sum(n))
练习2:输入输出练习(2)(HLOJ)
Problem Description
测试数据有多组,处理到文件尾。每组测试求n个整数之和.
Input
测试数据有多组,处理到文件尾。每组测试先输入数据个数n,然后再输入n个整数,数据之间以一个空格间隔.
Output
对于每组测试,在一行上输出n个整数之和.
Sample Input
5 1 8 3 4 5
Sample Output
21
练习2:算法思想
- 获得输入
- try…except结构
- 剥离求和
练习2:代码及运行结果
try:
while True:
n = input().split(' ')
n = n[1:]
n = [int(i) for i in n]
print(sum(n))
except EOFError:
pass
练习3:输入输出练习(3)(HLOJ)
Problem Description
测试数据有多组,每组测试求n个整数之和,处理到输入的n为0为止。
Input
测试数据有多组。每组测试先输入数据个数n,然后再输入n个整数,数据之间以一个空格间隔,当n为0时,输入结束。
Output
对于每组测试,在一行上输出n个整数之和。
Sample Input
5 1 8 3 4 5
0
Sample Output
21
练习3:算法思想
- 进入死循环
- 列表输入,筛选出首位,碰见0就停止。
- 否则,找出sum
练习3:代码及运行结果
while True:
n = input().split(' ')
n = [int(i) for i in n]
if n[0] == 0:
break
else:
n = n[1:]
print(sum(n))
练习4:输入输出练习(4)
Problem Description
求n个整数之和。T组测试,且要求每组测试输出之间空一行
Input
首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试先输入数据个数,然后再输入n个整数,数据之间以一个空格间隔。
Output:
对于每组测试,在一行上输出n个整数之和,每两组输出结果之间留一个空行
Sample Input
2
4 1 2 3 4
5 1 8 3 4 5
练习4:算法思想
- 获得T值
- 进行循环,剥离首位
- 求和输出
练习4:代码及运行结果
::