9个同学一起做游戏,每个人报一个[1,20]区间上的正整数,请你编程求出有多少个不同的数。用Python写代码
时间: 2024-04-30 19:21:48 浏览: 7
可以使用Python中的集合(set)来记录所有出现过的数,然后输出集合中元素的个数即可。具体代码如下:
```python
nums = set() # 创建一个空的集合
for i in range(9):
num = int(input("请第{}个同学报一个[1,20]区间上的正整数:".format(i+1)))
nums.add(num) # 将输入的数加入集合中
print("共有{}个不同的数".format(len(nums))) # 输出集合中元素的个数
```
注意,集合中的元素是唯一的,因此每个数只会被记录一次,最终集合中元素的个数即为不同的数的个数。
相关问题
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之间的正整数,并且每个同学的输入都是有效的。如果需要,你可以根据具体的情况进行适当的输入验证和错误处理。
python: 9个同学一起做游戏,每个人报一个[1,20]区间上的正整数,请你编程求出有多少个不同的数。
可以使用set数据结构来去重,代码如下:
```python
nums = set()
for i in range(9):
num = int(input("请输入第{}个同学报的数字:".format(i+1)))
if num >= 1 and num <= 20:
nums.add(num)
print("不同的数字个数为:", len(nums))
```
输入每个同学报的数字后,将其加入set中,最后输出set的长度即可。