python 两个班小朋友排队时混在了一起,每个小朋友都知道自己跟前一个小朋友是不是同班,把同班的小朋友找出来

小朋友的编号为正数,与前面一个小朋友同班用Y表示,不同班用N表示

输入描述:输入空格分开的小朋友编号和是否同班的标志

如:6/N 2/Y 3/N 4/Y 表示一共4位小朋友

2和6是同班 3和2 不通班,4和三同班

小朋友总数<999

不考虑输入格式错误。 

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

#instr = "6/N 3/Y 2/N 4/Y 5/Y 1/Y"
instr = raw_input("请输入小朋友的信息\n")

inlist = instr.split(" ")
banji = 1
jiaban = []
yiban =[]
for i in inlist:
	student = i.split("/")[0]
	if banji == 1:
		if i.split("/")[1] == "Y":
			jiaban.append(student)
		else:
			yiban.append(student)
			banji = 2
	elif banji == 2:
		if i.split("/")[1] == "Y":
			yiban.append(student)
		else:
			jiaban.append(student)
			banji = 1
jiaban.sort()
yiban.sort()

print ' ' .join(jiaban)
print ' ' .join(yiban)

如果对你有帮助可以加个关注

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
好的,您想用 Python 实现一个程序,将一堆苹果分给 n 个小朋友,要求每个小朋友分得的苹果数不同。以下是一个可能的实现方式: ```python def distribute_apples(num_apples, num_children): if num_apples < num_children: return None # 不可能平均分配苹果 base_dist = num_apples // num_children # 计算每个小朋友至少分得的苹果数 extra_apples = num_apples % num_children # 计算剩余的苹果数 dist_list = [base_dist] * num_children # 初始化每个小朋友分得的苹果数列表 for i in range(extra_apples): dist_list[i] += 1 # 将剩余的苹果依次分给前 extra_apples 个小朋友 return dist_list ``` 上面的程序定义了一个名为 `distribute_apples` 的函数,该函数接受两个参数:`num_apples` 表示苹果的总数,`num_children` 表示小朋友的数量。该函数会返回一个列表,列表中的元素表示每个小朋友分得的苹果数。 该函数的实现方式如下: 1. 如果苹果的总数小于小朋友的数量,则无法平均分配苹果,直接返回 `None`。 2. 计算每个小朋友至少分得的苹果数,将其赋值给变量 `base_dist`。 3. 计算剩余的苹果数,将其赋值给变量 `extra_apples`。 4. 初始化一个列表 `dist_list`,其中的元素都为 `base_dist`。 5. 将剩余的苹果依次分给前 `extra_apples` 个小朋友。 6. 返回 `dist_list`。 这个实现方式可以保证每个小朋友分得的苹果数不同,但并不能保证每个小朋友都能够满足自己的需求。例如,如果苹果的总数是 7,小朋友的数量是 3,那么上面的程序会返回 `[2, 2, 3]`,但是第三个小朋友可能并不满足自己想要的 3 个苹果。如果您需要满足每个小朋友的需求,可能需要考虑其他的实现方式。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值