程序依次接收20行用户通过键盘输入的数据,每行数据均为由三个英文点号分开的4个整数数据,示例如下: 10.186.1.1 256.0.0.3 192.168.0.255 ..(共20行)… 对于每行中的每个整数数据,值的范围应介于0(含)到255(含)之间。因此,以上示例中10.186.1.1和 192.168.0.255为两条合规数据,256.0.0.3是一条非合规数据。 程序逐行判读数据是否合规,并统计合规和不合规的数目,最后按序分别输出合规和不合规数据的值(整数形式输出)。
时间: 2024-03-20 20:40:37 浏览: 127
js引入方式,三种输出方式,一种输入方式,变量,基本数据类型,复合数据类型,数据分析,判断数据类型,算数运算符
好的,我可以为您解答这个问题。以下是Python的实现代码:
```python
valid_count = 0
invalid_count = 0
valid_data = []
invalid_data = []
for i in range(20):
data = input().split('.')
is_valid = True
for num_str in data:
num = int(num_str)
if num < 0 or num > 255:
is_valid = False
break
if is_valid:
valid_count += 1
valid_data.extend([int(num_str) for num_str in data])
else:
invalid_count += 1
invalid_data.extend([int(num_str) for num_str in data])
print(f"Valid data count: {valid_count}")
print(f"Valid data: {valid_data}")
print(f"Invalid data count: {invalid_count}")
print(f"Invalid data: {invalid_data}")
```
程序先定义了合规数据的计数器和不合规数据的计数器,以及两个列表分别用来存储合规数据和不合规数据。接下来程序使用一个循环逐行读取用户输入的数据,并使用字符串的 `split()` 方法将每行数据分割成一个由四个字符串组成的列表。程序再使用一个嵌套的循环遍历每个字符串,并将其转换为整数类型。如果任意一个整数小于0或大于255,则将该行数据标记为不合规。如果一行数据合规,则将合规数据的计数器加1,并将四个整数加入合规数据的列表中;否则将不合规数据的计数器加1,并将四个整数加入不合规数据的列表中。最后程序输出合规数据和不合规数据的计数器以及对应的数据列表。
希望这个代码能够帮助到您!
阅读全文