一、单选题
1、以下变量中哪个选项不符合变量的命名规则( )。
A、
a = 3
B、
b_ = 3.5
C、
c_2 = “python”
D、 2_d = 5
2、以下选项中哪个选项与其它三项输出的结果不相同( )。
A 2*2+1
B 2+2+4//2-1
C 2**2+2+1
D ( 8%3)**2+1
3、下列哪个语句在Python中是非法的?( )
A、
x = y = z = 0
B、 y = (x = z + 1)
C、
x, y = y, x
D、
x *= y
4、str = “ab”+“c”*2 , print ( str ) 输出的结果是( )。
A abc2
B abcabc
C abcc
D ababcc
5、执行以下程序,打印结果为( )。
data = {'小蓝': 90, '小青': 78}
score = []
for values in data.values():
score.append(values)
print(score)
A、
[ ]
B、
['小蓝', '小青']
C、 [90, 78]
D、
{'小蓝': 90, '小青': 78}
二、实操题
6、编程实现:
输入一个正整数(个位不能为0),然后将这个正整数逆序输出。
输入描述:
输入一个正整数
输出描述:
逆序输出这个正整数
样例输入:
123
样例输出:
321
参考答案:br />以下是一个简单的Python程序,用于输入一个正整数并逆序输出:```pythonnum = int(input("请输入一个正整数:"))# 逆序输出reversed_num = ''while num > 0:digit = num % 10reversed_num = str(digit) + reversed_numnum //= 10print("逆序输出为:", reversed_num)```
7、提示信息:
小蓝需要打印一份资料,为了环保采用双面打印,也就是一张纸的正反面都打印出相应的内容。举个例子来说:如果一份资料有3页,那么需要2张纸进行打印;如果一份资料有4页,那么还是需要2张纸进行打印。现在已经知道了一份资料的总页数,你帮小蓝计算一下所需要纸张的数量。
编程实现:
输入一个正整数作为这份资料的总页数,输出双面打印这份资料所需要纸张的数量。
输入描述:
输入一个正整数
输出描述:
输出双面打印这份资料所需要纸张的数量
样例输入:
3
样例输出:
2
参考答案:```pythondef paper_count(pages):return pages // 2 + (1 if pages % 2 != 0 else 0)pages = int(input())print(paper_count(pages))```
8、提示信息:
给定一个字符串(只包含小写字母),按照从第start位开始每间隔step位的规则,对字符串对应位置上的字符进行输出。
例如:字符串为abcdefg,start为2,step为2,就是从字符串abcdefg的第2位字符“b”开始,每次间隔2个字符,输出字符串对应位置上的字符,故输出的结果为b,e。
编程实现:
第一行输入一个字符串(只包含小写字母),第二行输入两个正整数且正整数之间以一个空格隔开,第一个正整数作为开始位置(start),第二个正整数作为间隔的字符数(step)。输出字符串对应位置上的字符,且字符之间以英文逗号隔开。
输入描述:
第一行输入一个字符串(只包含小写字母)
第二行输入两个正整数且正整数之间以一个空格隔开
输出描述:
输出字符串对应位置上的字符,且字符之间以英文逗号隔开
样例输入:
abcdefg 2 3
样例输出:
b,f
参考答案:根据题目要求,我们需要从给定的字符串中按照指定的start和step规则输出对应位置上的字符。首先,我们需要读取输入的字符串和start、step值。然后,我们可以使用循环来遍历字符串,从start位置开始,每次间隔step个字符,输出对应位置上的字符。具体实现如下:```python# 读取输入的字符串和start、step值s = input()start, step = map(int, input().split())# 初始化结果字符串result = ""# 遍历字符串,按照start和step规则输出对应位置上的字符for i in range(start, len(s)):if (i - start) % step == 0:result += s[i] + ","# 去除最后一个多余的逗号if result:result = result[:-1]# 输出结果print(result)```
9、编程实现:
输入N个正整数且正整数之间以一个逗号隔开,统计N个正整数中出现过的数字,以及每个数字重复出现的次数,将数字按出现次数由高到低进行排列(相同次数不分先后顺序)并输出,输出的数字之间以英文逗号隔开。
例如:输入的正整数为8,8,7,7,7,6,共出现了3个正整数为8、7、6。其中8出现了2次,7出现了3次,6出现了1次,按照次数由高到低排序后,输出的结果为7,8,6。
输入描述:
输入N个正整数且正整数之间以逗号隔开
输出描述:
输出所有出现过的数字,按照出现次数由高到低排序,数字之间以英文逗号隔开
样例输入:
8,8,7,7,7,6
样例输出:
7,8,6
参考答案:br />编程实现可以使用Python语言,具体代码如下:```pythondef count_digits(numbers):# 将输入字符串按逗号分割成列表num_list = numbers.split(',')# 将列表中的字符串转换为整数num_list = [int(num) for num in num_list]# 初始化字典用于统计每个数字出现的次数count_dict = # 遍历列表中的每个数字,统计出现次数for num in num_list:if num in count_dict:count_dict[num] += 1else:count_dict[num] = 1# 将字典中的键值对按照值(出现次数)由高到低排序sorted_dict = sorted(count_dict.items(), key=lambda x: x[1], reverse=True)# 提取排序后的数字列表sorted_nums = [num for num, count in sorted_dict]# 将数字列表转换为字符串,数字之间以英文逗号隔开result = ','.join(map(str, sorted_nums))return result# 测试样例numbers = input("请输入N个正整数,以逗号隔开:")print(count_digits(numbers))```
10、编程实现:
输入一个正整数N(10<N<1000),然后将N分解成 3 个各不相同的正整数,即3 个正整数之和为N。且要求每个正整数中都不包含数字 2 和 4。输出一共有多少种不同的分解方法。
例如:输入的正整数N为:12
将12分解为3个不同的正整数,且每个正整数都不包含数字 2 和 4为:1,3,8和1,5,6。
一共有两种分解方法。
注意:数字相同顺序不同的算一种分解方法。
输入描述:
输入一个正整数N(10<N<1000)
输出描述:
输出一共有多少种不同的分解方法
样例输入:
12
样例输出:
2
参考答案:br />```pythondef count_decomposition(N):count = 0for i in range(1, N):for j in range(i+1, N):if N - i - j > j:continueif str(i).find('2') == -1 and str(i).find('4') == -1 and \str(j).find('2') == -1 and str(j).find('4') == -1 and \str(N - i - j).find('2') == -1 and str(N - i - j).find('2') == -1:count += 1return countN = int(input())print(count_decomposition(N))```
11、提示信息:
从1到10000的连续正整数,其中有多组连续的正整数之和相同。
例如:2,3,4和4,5这两组连续正整数之和都为9。
编程实现:
输入一个正整数S,输出从1到10000连续的正整数中,有多少组连续正整数之和为S。(一组连续正整数最少为两个正整数)
例如:输入为9,其中2,3,4和4,5这两组连续正整数之和都为9,则输出2。
输入描述:
输入一个正整数S
输出描述:
输出有几组连续的正整数之和为S
样例输入:
9
样例输出:
2
参考答案:br />```pythondef count_consecutive_sums(S):count = 0start = 1while start + S - 1 <= 10000:if sum(range(start, start + S)) == S * S:count += 1start += 1return countS = int(input())print(count_consecutive_sums(S))```
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!