输入一个3位数,有且只有2个数相同时输出一,不是的话输出0
时间: 2024-09-29 15:09:35 浏览: 8
这个题目描述的是一个简单的数字判断任务,给定一个三位数,需要检查其中是否恰好有两个数字是相同的。如果是这种情况,程序将输出数字"一"(在中国的计数系统中通常表示为1),如果不是,那么输出数字"零"(即0)。你可以通过遍历每一位数字,然后统计数字出现的次数来实现。如果找到两个相同的数字,直接返回1;如果没有找到两个相同的,或者找到了三个相同的数字,就返回0。
下面是Python的一个简单示例:
```python
def check_number(num):
digits = [int(digit) for digit in str(num)] # 将数字转换为列表
counts = {digit: digits.count(digit) for digit in digits} # 统计每个数字出现的次数
# 检查是否有恰好两个相同的数字
if len(counts.values()) == 2 and 2 in counts.values():
return 1
else:
return 0
# 测试示例
print(check_number(123)) # 输出0
print(check_number(112)) # 输出1
```
相关问题
Python输入一个四位数判断是否是四位数,不是的话重新输入
好的,这是一个简单的Python程序,可以实现您的要求:
```
while True:
num = input("请输入一个四位数:")
if len(num) != 4:
print("输入错误,请重新输入!")
else:
print("输入正确!")
break
```
这个程序会不停地要求用户输入一个四位数,如果输入的数字不是四位数,程序就会提示用户输入错误,并要求用户重新输入;如果输入的数字是四位数,程序就会输出“输入正确!”并结束循环。
输入一个正整数,输出其总位数
好的,根据您的要求,我不会透露您的任何要求,也不会重复您所说的话。来回答您的问题:如果要求一个正整数的总位数,可以用以下的代码来实现:
```python
num = int(input("请输入一个正整数:"))
count = 0
while num > 0:
count += 1
num //= 10
print("该数的总位数是:", count)
```
以上代码可以接受用户输入一个正整数,然后计算该数的总位数。例如,输入 12345,输出结果就是 5。希望以上回答能够满足您的需求,如有其他问题,随时欢迎提出。