9个同学一起做游戏,每个人报一个[1,20]区间上的正整数,请你用phthon编程程求出有多少个不同的数。
时间: 2023-12-14 08:38:27 浏览: 32
可以使用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
```
相关问题
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]区间上的正整数,请你编程求出有多少个不同的数。用Python写代码
可以使用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))) # 输出集合中元素的个数
```
注意,集合中的元素是唯一的,因此每个数只会被记录一次,最终集合中元素的个数即为不同的数的个数。