一、单选题
1、执行以下程序,输出的结果是 ( )。
print( 0.1 + 0.2 == 0.3)
A、 False
B、
–1
C、
0
D、
while
2、已知以下程序,要想输出结果为‘1,2,3’,应该使用哪个表达式 ( )。
x = [1,2,3]
z = []
for y in x:
z.append(str(y))
A print(z)
B print(",".join(x))
C print(x)
D print(",".join(z))
3、设 str = ‘python’,要求把字符串str的第一个字母变为大写,其他字母不变,正确的选项是 ( )。
A、 print(str[0].upper()+str[1:])
B、
print(str[1].upper()+str[-1:1])
C、
print(str[0].upper()+str[1:-1])
D、
print(str[1].upper()+str[2:])
4、下列哪一项语句执行后的结果与其他三项不相同 ( )。
A、
eval(“1”+“2*5”)
B、
eval(“5*1”+“2”)
C、 eval(“5*12”)
D、
eval(“5”+“1*2”)
5、执行以下程序,输出的结果是 ( )。
str = "1232abcr312unoob213212"
tu = "12"
print (str.strip(tu).count("2"))
A、
4
B、
3
C、 2
D、
1
二、实操题
6、提示信息:
阶乘定义:一个正整数的阶乘是所有小于及等于该数的正整数的乘积。
例如:3的阶乘6 (也就是1*2*3的结果)
例如:8的阶乘40320 (也就是1*2*3*4*5*6*7*8的结果)
编程实现:
输入一个正整数N,输出N的阶乘。
输入描述:
输入一个正整数N
输出描述:
输出N的阶乘
样例输入:
3
样例输出:
6
参考答案:br />```pythondef factorial(n):result = 1for i in range(1, n+1):result *= ireturn resultN = int(input())print(factorial(N))```
7、编程实现:
输入一个全部由小写字母组成的字符串(如:abcd),然后将字符串奇数位的小写字母转为大写字母,将偶数位的小写字母转为对应的ASCII码。最后将转化后的结果输出。
输入描述:
输入一个全部由小写字母组成的字符串(如:abcd)
输出描述:
输出转化后的结果
样例输入:
abcd
样例输出:
A98C100
参考答案:br />输入字符串为abcd,奇数位为1和3,对应字符为a和c,转为大写后为A和C;偶数位为2和4,对应字符为b和d,对应的ASCII码为98和100。因此,转化后的结果为A98C100。
8、编程实现:
输入两个不相等的四位正整数N和M,其中N<M,并以逗号分隔,输出N与M之间(包含N和M)所有满足要求的正整数且正整数之间以一个英文逗号隔开。
要求:每个正整数的各个位上的数都为偶数(注:0为偶数)。
输入描述:
输入两个不相等的四位正整数(N,M)
输出描述:
输出N与M之间(包含N和M)所有满足要求的正整数且正整数之间以一个英文逗号隔开
样例输入:
4000,4008
样例输出:
4000,4002,4004,4006,4008
参考答案:br />```pythondef find_even_numbers(N, M):result = []for i in range(N, M+1):if all(digit % 2 == 0 for digit in str(i)):result.append(str(i))return ','.join(result)N, M = map(int, input().split(','))print(find_even_numbers(N, M))```
9、编程实现:
输入一个正整数n,统计从1到n之间(包含1和n)所有正整数中,0,1,2,3,4,5,6,7,8,9的数字分别出现的次数,且分行输出。
例如:n为12,那么1到n之间所有的正整数有1,2,3,4,5,6,7,8,9,10,11,12。
在12个正整数中数字0出现了1次,数字1出现了5次,数字2出现了2次,数字2,3,4,5,6,7,8,9分别出现了1次。
输入:
输入一个正整数n
输出:
0,0出现的次数
1,1出现的次数
2,2出现的次数
......
9,9出现的次数
样例输入:
10
样例输出:
0,1 1,2 2,1 3,1 4,1 5,1 6,1 7,1 8,1 9,1
参考答案:br />```pythonn = int(input())count_list = [0] * 10for i in range(1, n+1):for j in str(i):count_list[int(j)] += 1print("0,", count_list[0])print("1,", count_list[1])print("2,", count_list[2])print("3,", count_list[3])print("4,", count_list[4])print("5,", count_list[5])print("6,", count_list[6])print("7,", count_list[7])print("8,", count_list[8])print("9,", count_list[9])```
10、提示信息:
平方是一种运算,比如:a的平方表示a×a。
例如:2的平方为4 (也就是2*2的积)
例如:4的平方为16 (也就是4*4的积)
编程实现:
输入一个正整数n,将1到n之间所有正整数(包含1和n)作为python字典的键,将正整数的平方作为对应键的值,组成n个键值对。输出1到n的所有键值对(格式要求:每个键值对之间以英文逗号隔开,输出的内容前后中间不能有空格及大括号)。
输入描述:
输入一个正整数n
输出描述:
输出1到n的所有键值对(按照编程实现要求输出)
样例输入:
5
样例输出:
1:1,2:4,3:9,4:16,5:25
参考答案:输入一个正整数n,将1到n之间所有正整数作为字典的键,将正整数的平方作为对应键的值,组成n个键值对。输出1到n的所有键值对,每个键值对之间以英文逗号隔开,输出的内容前后中间不能有空格及大括号。
11、提示信息:
假设给出一个数值9876543201,直接看这个数字很难直观准确的读出来,为了准确快速的读出一个数字,想请你编写一个读数系统。
中文读数规则:1.从高位读起,先读亿级,再读万级,最后读个级;2. 读亿级和万级时按读个级的方法来读,读完亿级后加上一个“亿”字,读完万级后加上一个“万”字;3. 每级末尾不管有几个0都不读,每级中间和前面有一个或连续几个0,都只读一个0。
编程实现:
输入一个小于一百亿的正整数n(1≤n<10000000000),按照中文读写的规范转为汉语拼音字串,相邻的两个音节用一个空格符隔开。
例如:给定一个阿拉伯数字串“9876543201”
中文读写的规范:九十八亿七千六百五十四万三千二百零一
汉语拼音字串:jiu shi ba yi qi qian liu bai wu shi si wan san qian er bai ling yi
输入描述:
输入一个小于一百亿的正整数n(1≤n<10000000000)
输出描述:
输出其对应汉语拼音字串,相邻的两个音节用一个空格符隔开
样例输入:
54321001
样例输出:
wu qian si bai san shi er wan yi qian ling yi
参考答案:输入一个小于一百亿的正整数n,按照中文读写的规范转为汉语拼音字串,相邻的两个音节用一个空格符隔开。
12、提示信息:
回形取数,是沿着一个数字矩阵的左上角向下开始移动取数,当前方没有数字或者数字已经被取过,就会左转继续移动取数,当没有数可取时回形取数结束。如下图所示:
回形取数结束后会产生一条线路图,也就是数字线路,上图的数字线路为:1,5,9,13,14,15,16,12,8,4,3,2,6,10,11,7
编程实现:
用户分别输入两个正整数,第一个数代表数字矩阵的行数,第二个数代表数字矩阵的列数,数字矩阵的数字为从1开始的正整数。根据回形取数规则将最终的数字线路输出(数字线路中的每个数字之间需要有一个英文逗号格隔开)。
例如:
输入的是2和3数字矩阵为:
1 2 3
4 5 6
数字线路为:1,4,5,6,3,2
输入的是4和3数字矩阵为:
1 2 3
4 5 6
7 8 9
10 11 12
数字线路为:1,4,7,10,11,12,9,6,3,2,5,8
(注:数字矩阵不需要输入,此处只为展示)
输入描述:
第一行输入一个正整数作为行数
第二行输入一个正整数作为列数
输出描述:
根据回形取数规则将数字线路输出(数字线路中的每个数字之间需要有一个英文逗号隔开)
样例输入:
3 2
样例输出:
1,3,5,6,4,2
参考答案:```pythonimport mathdef backtrack(matrix, row, col, total_rows, total_cols, visited, path):if row < 0 or col < 0 or row >= total_rows or col >= total_cols or visited[row][col]:returnvisited[row][col] = Truepath.append(matrix[row][col])if row == 0:if col == total_cols - 1 or visited[row][col + 1]:backtrack(matrix, row, col - 1, total_rows, total_cols, visited, path)else:backtrack(matrix, row, col + 1, total_rows, total_cols, visited, path)elif row == total_rows - 1:if col == 0 or visited[row][col - 1]:backtrack(matrix, row, col + 1, total_rows, total_cols, visited, path)else:backtrack(matrix, row, col - 1, total_rows, total_cols, visited, path)else:if col == 0:if row == 1 or visited[row - 1][col]:backtrack(matrix, row + 1, col, total_rows, total_cols, visited, path)else:backtrack(matrix, row - 1, col, total_rows, total_cols, visited, path)elif col == total_cols - 1:if row == total_rows - 2 or visited[row + 1][col]:backtrack(matrix, row - 1, col, total_rows, total_cols, visited, path)else:backtrack(matrix, row + 1, col, total_rows, total_cols, visited, path)else:if visited[row - 1][col]:backtrack(matrix, row, col + 1, total_rows, total_cols, visited, path)elif visited[row + 1][col]:backtrack(matrix, row, col - 1, total_rows, total_cols, visited, path)else:backtrack(matrix, row - 1, col, total_rows, total_cols, visited, path)def spiral_order(total_rows, total_cols):matrix = [[i + j + 1 for j in range(total_cols)] for i in range(total_rows)]visited = [[False] * total_cols for _ in range(total_rows)]path = []backtrack(matrix, 0, 0, total_rows, total_cols, visited, path)return ','.join(map(str, path))total_rows = int(input().strip())total_cols = int(input().strip())print(spiral_order(total_rows, total_cols))```
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!