编写程序实现如下功能: (1)程序使用两次 eval(input()),接收两个整数作为输入数据,要求第 1 个数小于第 2 个数,且都为正数; (2)求解在两个数之间(不包括这两个数),所有既能被 3 整除,又能被 7整除的数的个数.Python
时间: 2024-09-26 09:15:33 浏览: 30
用python编写两个正整数的最大公约数和最小公倍数的小程序
好的,我们可以编写一个简单的 Python 程序来满足这个需求。首先,我们需要检查输入是否符合要求,然后计算符合条件的数字个数。以下是完整的代码:
```python
def count_numbers_between(a, b):
# 检查输入是否合法(两个正整数且第一个数小于第二个数)
if a >= b or not isinstance(a, int) or not isinstance(b, int) or a <= 0 or b <= 0:
print("输入错误,第一个数必须小于第二个数且都是正整数。")
return
# 使用列表推导式找到并计数能同时被3和7整除的数
divisible_numbers = [i for i in range(a+1, b) if i % 3 == 0 and i % 7 == 0]
count = len(divisible_numbers)
print(f"在 {a} 和 {b-1}(不包括这两个数)之间,共有 {count} 个数能同时被 3 和 7 整除。")
# 获取用户输入并应用到函数中
input_1 = int(eval(input("请输入第一个正整数:")))
input_2 = int(eval(input("请输入第二个比第一个大的正整数:")))
count_numbers_between(input_1, input_2)
```
当你运行此程序时,它会提示你分别输入两个正整数,并计算它们之间的既能被3整除也能被7整除的数的数量。
阅读全文