python分析活动投票情况 分数 20 作者 陈春晖 单位 浙江大学 利用集合分析活动投票情况。第一小队有五名队员,序号是1,2,3,4,5;第二小队也有五名队员,序号6,7,8,9,10。输入一个得票字符串,求第二小队没有得票的队员 输入格式: 在一行中输入得票的队员的序列号,用逗号隔开。 输出格式: 一行中输出第二小队没有得票的队员序号。
时间: 2024-02-28 17:52:21 浏览: 36
好的,我可以帮你解决这个问题。以下是 Python 代码实现:
```python
voted = input().split(',') # 输入得票的队员序列号,用逗号隔开
voted = set(map(int, voted)) # 将序列号转换为整数并存储为集合
team2 = set(range(6, 11)) # 第二小队的队员序号是6~10,存储为集合
not_voted = team2 - voted # 求第二小队没有得票的队员
print(','.join(map(str, sorted(not_voted)))) # 输出结果,按序号从小到大排序
```
例如,输入字符串 `"6,7,9"`,运行上述代码,输出结果为:
```
8,10
```
表示第二小队中,没有得票的队员序号是8和10。
相关问题
7-2 水仙花数(20 分) 分数 20 作者 陈春晖 单位 浙江大学 水仙花数是指一个n位正
水仙花数是指一个n位正整数,它的每个位上的数字的n次幂之和等于它本身。例如,一个3位水仙花数为153,因为1^3 + 5^3 + 3^3 = 153。
要解决这个问题,我们可以遍历所有的n位数,然后逐个判断是否为水仙花数。具体的算法如下:
1. 输入一个正整数n,表示要找到的水仙花数的位数。
2. 使用一个循环,从10^(n-1)开始遍历到10^n - 1,依次判断每个数是否满足水仙花数的条件。
3. 对于每个数,将其转化为字符串形式,并计算每个数字的n次幂之和。
4. 如果和等于该数本身,则输出该数,即为一个水仙花数。
5. 完成循环后,输出所有找到的水仙花数。
例如,当n为3时,算法的执行过程如下:
1. 输入n=3
2. 从100开始遍历到999
- 对于每个数,如123,计算1^3 + 2^3 + 3^3 = 36
- 36不等于123,继续下一个数
3. 完成循环后,输出所有找到的水仙花数
经过计算,我们可以得到所有3位水仙花数为153和370。
总之,通过将一个n位数转化为字符串,并计算每个数位上的数字n次幂之和,我们可以判断一个数是否为水仙花数。根据这个思路,我们可以编写一个程序来找到任意位数的水仙花数。
7-2 求矩阵鞍点的个数 分数 20 作者 陈春晖 单位 浙江大学 一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。 本题要求编写程序,求一个给定的n阶方阵的鞍点。 输入格式: 输入第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。 输出格式: 鞍点的个数
以下是 Python 代码实现:
```python
n = int(input())
matrix = []
for i in range(n):
row = list(map(int, input().split()))
matrix.append(row)
count = 0
for i in range(n):
for j in range(n):
if matrix[i][j] == max(matrix[i]) and matrix[i][j] == min([matrix[k][j] for k in range(n)]):
count += 1
print(count)
```
实现思路:
1. 首先读入矩阵的大小 n 和矩阵本身,存储在一个二维列表 matrix 中。
2. 遍历矩阵中的每一个元素,判断该元素是否为该行的最大值和该列的最小值。
3. 如果该元素是该行的最大值且该列的最小值,则将计数器 count 加 1。
4. 最后输出 count 的值,即为鞍点的个数。