从键盘输入两个整数n和m(要求n<m),编程求出由n到m(不包含m)中的整数组合而成的所有不含重复数字的三位数。若n和m的输入不合法或者没有符合条件的三位数则提示输出“illegal input"。
时间: 2023-06-12 21:04:19 浏览: 88
以下是 Python 代码实现:
```python
n = int(input("请输入n:"))
m = int(input("请输入m:"))
if n >= m or n < 100 or m > 1000:
print("illegal input")
else:
for i in range(n, m):
if len(set(str(i))) == 3:
print(i)
```
首先,通过 `input()` 函数获取用户输入的两个整数 `n` 和 `m`。然后,我们进行输入合法性检查。如果 `n >= m` 或者 `n < 100` 或者 `m > 1000`,则输出 `illegal input`。否则,我们使用 `range()` 函数生成 `n` 到 `m-1` 之间的整数序列,并对每个整数进行如下判断:
1. 将该整数转换成字符串,然后使用 `set()` 函数将其转换成一个集合。
2. 如果该集合中元素的个数为 3,说明该整数中的每个数字都不相同,满足题目要求,输出该整数。
这样,我们就可以得到所有符合条件的三位数了。
相关问题
python 从键盘输入两个整数n和m(要求n<m),编程求出由n到m(不包含m)中的整数组合而成的所有不含重复数字的三位数。若n和m的输入不合法或者没有符合条件的三位数则提示输出“illegal input"
好的,可以通过以下代码实现:
```python
n, m = input("请输入两个整数n和m,用空格隔开:").split()
n, m = int(n), int(m)
if not (100 <= n < m <= 1000):
print("illegal input")
else:
result = []
for i in range(n, m):
for j in range(i + 1, m):
for k in range(j + 1, m):
if len(set(str(i) + str(j) + str(k))) == 3:
result.append(int(str(i) + str(j) + str(k)))
if result:
print(result)
else:
print("没有符合条件的三位数")
```
在这个代码中,我们首先通过 `input` 函数从键盘获取了两个整数 `n` 和 `m`,然后利用 `split` 函数将其拆分开来,并转换为整数类型。
接着,我们通过判断 `n` 和 `m` 的值是否符合条件,来判断输入是否合法。如果不合法,则输出提示信息。
如果输入合法,我们就遍历从 `n` 到 `m` 中的所有整数,找出其中所有不含重复数字的三位数,并将其存储在 `result` 列表中。最后,我们判断 `result` 是否为空,如果不为空,则输出所有符合条件的三位数,否则输出提示信息。
写一个代码,从键盘输入两个整数n和m(要求n<m),编程求出由n到m(不包含m)中的整数组合而成不含的所有重复数字的三位数。若n和m的输入不合法或者没有符合条件的三位数则提示输出“非法输入”。
好的,下面是 Python 3 的代码实现:
```python
n = int(input("请输入 n:"))
m = int(input("请输入 m:"))
if n >= m or n < 100 or m > 1000:
print("非法输入")
else:
for i in range(n, m):
s = str(i)
if len(set(s)) == 3:
print(s)
```
代码思路:
1. 从键盘输入 n 和 m,判断是否符合输入条件(n<m 且 n 和 m 都是三位数);
2. 使用 `range(n, m)` 循环遍历 n 到 m 之间的整数;
3. 将当前遍历到的数转换成字符串类型,并使用 `set()` 函数去重;
4. 判断去重后的字符串长度是否等于 3,如果等于 3 则表示这个数由不同的三个数字组成;
5. 输出符合条件的三位数。
阅读全文