【问题描述】 9个同学一起做游戏,每个人报一个[1,20]区间上的正整数,请你编程求出有多少个不同的数。 【输入形式】 输入1行,输入9个[1,20]区间上的整数,每个整数之间以空格为分隔符 【输出形式】 输出1个数,表示输入的9个数中不同数的个数。 【样例输入】 1 2 3 3 2 2 7 8 9 【样例输出】 6
时间: 2024-01-17 08:03:41 浏览: 27
这里给出一个 Python 的实现代码:
```python
nums = input().split() # 输入 9 个数,以空格分隔
nums = [int(num) for num in nums] # 将输入的字符串转换为整数列表
unique_nums = set(nums) # 使用 set 去除重复元素
print(len(unique_nums)) # 输出不同数的个数
```
输入样例:
```
1 2 3 3 2 2 7 8 9
```
输出样例:
```
6
```
相关问题
9个同学一起做游戏,每个人报一个[1,20]区间上的正整数,请你编程求出有多少个不同的数。
### 回答1:
可以使用set数据结构来去重,以下是示例代码:
```
#include <iostream>
#include <set>
using namespace std;
int main() {
set<int> s;
for (int i = 0; i < 9; i++) {
int num;
cin >> num;
s.insert(num);
}
cout << s.size() << endl;
return 0;
}
```
输入9个数,将它们插入set中,最后输出set的大小即可。
### 回答2:
假设我们用一个列表来记录每个同学报的数字,我们可以用一个集合来存储所有不同的数字。首先我们创建一个空的集合,然后依次读取每个同学报的数字,将其添加到集合中。最后,我们可以通过查询集合的大小来得到有多少个不同的数字。
下面是一个简单的Python代码示例来实现这个算法:
```python
# 创建一个空集合用于存储不同的数字
unique_numbers = set()
# 循环读取每个同学报的数字
for i in range(9):
number = int(input("请输入同学报的数字:"))
# 将数字添加到集合中
unique_numbers.add(number)
# 输出不同数字的个数
print("不同的数字个数为:", len(unique_numbers))
```
请注意,这个代码示例假设用户输入的数字为1到20之间的正整数,并且每个同学的输入都是有效的。如果需要,你可以根据具体的情况进行适当的输入验证和错误处理。
9个同学一起做游戏,每个人报一个[1,20]区间上的正整数,请你用phthon编程程求出有多少个不同的数。
可以使用Python中的集合(set)来实现去重,然后再统计个数即可。
代码如下:
```python
nums = set() # 定义一个集合,用于存储所有不同的数
for i in range(9):
num = int(input("请输入第{}个同学报的数字:".format(i+1)))
if 1 <= num <= 20: # 判断输入的数字是否在指定范围内
nums.add(num) # 将不同的数字添加到集合中
print("不同的数字个数为:", len(nums))
```
运行结果示例:
```
请输入第1个同学报的数字:3
请输入第2个同学报的数字:5
请输入第3个同学报的数字:3
请输入第4个同学报的数字:7
请输入第5个同学报的数字:8
请输入第6个同学报的数字:5
请输入第7个同学报的数字:2
请输入第8个同学报的数字:11
请输入第9个同学报的数字:15
不同的数字个数为: 8
```