读取名称并提取数量,

您的任务是编写一个程序,该程序应继续读取名称,直到输入“O”。
每个名字都以“NICE”或“NAUGHTY”开头。 您可以假设所有名称都是唯一的,并且没有重复项,淘气人和好人的顺序是打乱的
输入“O”后,您的程序应该在第一行输出好人的总数。 之后,在单独的一行上,它应该显示好人的名字(没有“NICE”这个词)。 在之后的下一行,它应该显示淘气的人总数。 之后,在单独的一行上,它应该显示淘气的人的名字(没有“NAUGHTY”这个词)。 这些名称应按输入的相同顺序显示。

input()里面什么都不加,不使用def函数

nice_names = []
naughty_names = []

name = input()
while name != "O":
  if name.startswith("NICE"):
    nice_names.append(name[5:])  
  elif name.startswith("NAUGHTY"):
    naughty_names.append(name[8:]) 
  name = input()

print(len(nice_names))
print("\n".join(nice_names))
print(len(naughty_names))
print("\n".join(naughty_names))

代码如下,望采纳,谢谢!

name=input()
nice = []
naughty = []
while True:
  if name == 'O':
    break
  if name[0:4] == 'NICE':
    nice.append(name[4:])
  else:
    naughty.append(name[7:])
  name = input()
print(len(nice))
print(nice)
print(len(naughty))
print(naughty)

如果名字用空格隔开,则是:

name=input()
nice = []
naughty = []
while True:
  if name == 'O':
    break
  if name[0:4] == 'NICE':
    nice.append(name[4:])
  else:
    naughty.append(name[7:])
  name = input()
print(len(nice))
print(' '.join(nice))
print(len(naughty))
print(' '.join(naughty))

实现代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
Description: todo
Author: gnn
Date: 2022/12/21
"""
nice_list = []
naughty_list = []
while True:
    name = input()
    if name == 'O':
        break
    elif name.startswith('NICE'):
        nice_list.append(name.replace('NICE', ''))
    elif name.startswith('NAUGHTY'):
        naughty_list.append(name.replace('NAUGHTY', ''))
    else:
        pass

print(f'好人总数: {len(nice_list)}')
print(f'好人名字: {" ".join(nice_list)}')
print(f'淘气人总数: {len(naughty_list)}')
print(f'淘气人名字: {" ".join(naughty_list)}')

输出:

NICEAAA
NICEBBB
NAUGHTYDDD
NICECCC
NAUGHTYEEE
O
好人总数: 3
好人名字: AAA BBB CCC
淘气人总数: 2
淘气人名字: DDD EEE

Process finished with exit code 0

你可以使用以下代码来实现这个程序:

nice_count = 0
nice_names = []
naughty_count = 0
naughty_names = []

while True:
    name = input()
    if name == "O":
        break
    if name.startswith("NICE"):
        nice_count += 1
        nice_names.append(name[5:])
    elif name.startswith("NAUGHTY"):
        naughty_count += 1
        naughty_names.append(name[8:])

print(nice_count)
print(" ".join(nice_names))
print(naughty_count)
print(" ".join(naughty_names))

这段代码实现了从标准输入中读取名字的循环,在输入“O”时终止循环。每个名字都被存储在一个列表中,最后按照题目要求输出统计结果。