本博文源于《程序设计竞赛入门》,旨在对python练习题进行总结:
一、选择题
1、以下属于合法的Python语言用户标识符是( )
A.a.123
B.a_b
C.def
D.1Max
答案:B
2、以下不属于合法的Python语言用户标识符是( )
A.print
B.abc
C.max
D.sum
答案:B
3 、Python语言中字符常量在内存中存放的是 ( )
A.ASCII码值
B.Unicode码值
C.内码值
D.十进制代码值
答案:A
4、Python语言中,非法的常量是( )
A.0o12
B.‘abcde’
C.1e-6
D.true
答案:D
5、已知‘A’的Unicode码值为十进制数65,能够得到‘F’的是 ( )
A.chr(‘A’ + 5)
B.‘A’+5
C.chr(ord(‘A’) + 5)
D.chr(71)
答案:C
6、Python语言中,以下能够正确创建整型变量a的是 ( )
A.int a
B. a =0
C.int(a)
D.(int)a
答案:B
7、以下运算符中,优先级最高的是( )
A.<=
B.not
C.%
D.and
答案:B
8、以下运算符优先级按从高到低排列正确的是( ).
A.算术运算、赋值运算、关系运算
B.关系运算、赋值运算、算术运算
C.算术运算、关系运算、赋值运算
D.关系运算、算术运算、赋值运算
答案:A
9、Python语言中,要求运算对象只能为整数的运算符是( ).
A.*
B./
C.//
D.%
答案:D
10、表达式34/5的结果为( ).
A.6
B.7
C.6.8
D.以上都错
答案:C
11、表达式34//5的结果为( ).
A.6
B.7
C.6.8
D.以上都错
答案:A
12、判断a、b有且仅有1个值为0的表达式是 ( )。
A.not (ab) and a+b
B.(ab) and a+b
C.a*b==0
D.a and not b
答案:A
13、不能正确表示"x大于10且小于20"的是( )
A.10<x<20
B.x>0 && x<20
C.x>10 and x<20
D.not(x <= 10 or x>=20)
答案:C
14、执行以下代码后,k的值是( )
s="123456"
t= "7788"
k = s.find(t)
A.4294967295
B.-1
C.0
D.0xffffffff
答案:B
15、以下代码的执行结果是( ).
s="123"
c='a'
print(s+a)
A.语句出错
B.188
C.123a
D.12310
答案:C
16、以下代码的执行结果是( ).
s="12300"
t="1256"
print(s<t)
A.true
B.false
C.False
D.True
答案:D
17、以下代码的执行结果是( ).
s="abcdefgh"
t=s[3:]
printt)
A.abc
B.cdefgh
C.defgh
D.fgh
答案:C
18、以下代码的执行结果是( ).
s="abcdefghi"
t = s[3:6]
print(t)
A.defg
B.cdef
C.defghi
D.def
答案:D
19、以下代码的执行结果是( ).
s="123"
t = "456"
t = int(s+t)
print(t)
A.123456
B.579
C.456
D.语句出错
答案:A
20. 有代码如下:
s='abcde'
s[1]='1'
则关于以上语句正确的是( ).
A.语句s[0]='1’有错
B.语句s=‘abcde’有错
C.s被修改为’1bcde’
D.s被修改为‘a1cde’
答案:A
21、有代码如下:
s=input()
print(len(s))
则在输入以下数据后得到的结果是( ).
Hello World
A.11
B.6
C.5
D.12
答案:A
22、以下集合创建的语句中,错误的是( ).
A.a=set()
B.a={}
C.a={1,2,3}
D.a={i for i in range(1,4)}
答案:B
23、以下代码的执行结果是( ).
a={i for i in range(1,10)}
b = {i for i in range(12) if i%2==1}
print(a-b)
A.{2,4,6,8,11}
B.{1,3,5,7,9}
C.{1,2,3,4,5,6,7,8,9,11}
D.{2,4,6,8}
答案:D
24、以下代码的执行结果是( ).
a={i for i in range(1,10)}
b = {i for i in range(12) if i%2==1}
print(a|b)
A.{2,4,6,8,11}
B.{1,3,5,7,9}
C.{1,2,3,4,5,6,7,8,9,11}
D.{2,4,6,8}
答案:C
25、以下代码的执行结果是( )
a={i for i in range(1,10)}
b = {i for i in range(12) if i%2==1}
print(a&b)
A.{2,4,6,8,11}
B.{3,5,7,9}
C.{1,2,3,4,5,6,7,8,9,11}
D.{2,4,6,8}
答案:B
26、以下代码的执行结果是( )
a={i for i in range(1,10)}
b = {i for i in range(12) if i%2==1}
print(a^b)
A.{2,4,6,8,11}
B.{3,5,7,9}
C.{1,2,3,4,5,6,7,8,9,11}
D.{1,2,4,6,8,11}
答案:D
二、编程题
练习1:4位整数的数位和(HLOJ)
输入一个4位数的整数,求其各数位上的数字之和
Sample Input:
1234
Sample Output:
10
python代码:
a = list(input())
a_1 = [int(i) for i in a]
print(sum(a_1))
运行结果:
练习2:5门课的平均分(HLOJ)
输入5门课程成绩(整数),求平均分(保留1位小数)
Sample Input
66 77 88 99 79
Sample Output
81.8
python代码:
a = list(input().split(' '))
a = [int(i) for i in a]
print("%.1f"%(sum(a)/len(a)))
代码运行结果:
练习3:打字(HLOJ)
小明1分钟能打m字,小李1分钟能打n字,两人一起打了t分钟,总共打了多少字?
Input:
输入3个整数m,n,t
Output
输出小明和小李t分钟一共打的字数
Sample Input
65 60 2
Sample OUtput
250
python代码:
m,n,t = map(int,input().split(' '))
print((m+n)*t)
代码运行结果
练习4:欢迎信息(HLOJ)
根据输入的姓名(可能包含空格),输入欢迎信息,即在姓名之前添加"Hello,"
Sample Input
Jack
Sample Output
Hello,Jack
python代码:
str = input()
print("Hello,"+str)
代码运行效果:
练习5:求串长(HLOJ)
输入一个字符串(可能包含空格),输出该串的长度.
Sample Input
welcome to acm world
Sample Output:
20
python代码:
str = input()
print(len(str))
代码运行效果:
练习6:求子串(HLOJ)
输入一个字符串,输出该字符串的子串.
Input:
首先输入一个正整数k,然后是一个字符串s,k和s之间用一个空格分开。(k大于0且小于等于s的长度)
Output:
输出字符串s从头开始且长度为k的子串
Sample Input
10 welcome to acm world
Sample Output
welcome to
python代码:
str = input()
fd = str.find(' ')
n = int(str[:fd])
str = str[fd+1:]
print(str[:n])
代码测试效果:
练习7:查找字符串(HLOJ)
在一行输入两个字符串s和英文字符串t,要求在s中查找t。其中,字符串s,t均不包含空格,且长度均小于80.
Input:
首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试输入两个长度不超过80的字符串s和t。
Output
对于每组测试数据,若在s中找到t,则输出"Found!“,否则输出"not Found!”.引号不必输出
Sample Input
2
dictionary lion
factory act
Sample Output
not Found!
Found!
python代码:
T = int(input())
for i in range(T):
m = list(input().split(' '))
lst1 = m[0]
lst2 = m[1]
if lst1.find(lst2) == -1:
print('not Found!')
else:
print('Found!')
代码测试效果:
三、总结
本博文是python的一些基础练习,在编程题的时候,尽量减少代码量,python确实非常简洁,或许是基础阶段的缘故吧。