鱼C论坛

 找回密码
 立即注册
查看: 825|回复: 11

[已解决]python的应用

[复制链接]
发表于 2020-5-6 15:22:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

请将1000个学生随机分到30个班级里,每个班级人数不能超过34人,输出分配结果。
格式示例为: 1班30人,名单为……
用python编个程序
最佳答案
2020-5-6 15:43:24
本帖最后由 sunrise085 于 2020-5-6 15:49 编辑
import random
stu_num=1
stu_class=dict()
while stu_num<1001:
    temp=random.randint(1,30)     #随机一个班级
    if temp in stu_class:         #若班级已经有人
        if len(stu_class[temp])<34:  #若班内人数没超过34人
            stu_class[temp].append(stu_num)   #将该同学分配带这个班级
            stu_num+=1         #下一位同学
    else:      #若这个班级还没有人
        stu_class.setdefault(temp,[stu_num])  #创建这个班级并把该同学分配到这个班级
        stu_num+=1       #下一位同学
for key in stu_class:
    print("班级号:",key,"学生人数:",len(stu_class[key]))
    print("学生学号:",stu_class[key])
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-6 15:30:09 | 显示全部楼层
用随机数不就行了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-6 15:37:33 From FishC Mobile | 显示全部楼层
不知道你说的名单是什么:
def func(number_of_persons: int, class_: int):
    MAX = 34
    div_ = number_of_persons // class_
    remainder = number_of_persons % class_
    if remainder > MAX:
        return False
    return True
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-6 15:38:49 | 显示全部楼层
_2_ 发表于 2020-5-6 15:37
不知道你说的名单是什么:

好好看看题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-6 15:41:31 From FishC Mobile | 显示全部楼层
zltzlt 发表于 2020-5-6 15:38
好好看看题

不看题,随便写
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-6 15:42:37 | 显示全部楼层

所以,怎么写?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-6 15:43:24 | 显示全部楼层    本楼为最佳答案   
本帖最后由 sunrise085 于 2020-5-6 15:49 编辑
import random
stu_num=1
stu_class=dict()
while stu_num<1001:
    temp=random.randint(1,30)     #随机一个班级
    if temp in stu_class:         #若班级已经有人
        if len(stu_class[temp])<34:  #若班内人数没超过34人
            stu_class[temp].append(stu_num)   #将该同学分配带这个班级
            stu_num+=1         #下一位同学
    else:      #若这个班级还没有人
        stu_class.setdefault(temp,[stu_num])  #创建这个班级并把该同学分配到这个班级
        stu_num+=1       #下一位同学
for key in stu_class:
    print("班级号:",key,"学生人数:",len(stu_class[key]))
    print("学生学号:",stu_class[key])
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-6 15:43:45 | 显示全部楼层
_2_ 发表于 2020-5-6 15:37
不知道你说的名单是什么:

就是生成一个第几班多少人,一个班人数不能超过34人,而且生成随机数相加等于1000
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-6 15:47:40 | 显示全部楼层

写的很好,但是人数好像超1000人了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-6 15:49:07 | 显示全部楼层
haoge404407 发表于 2020-5-6 15:47
写的很好,但是人数好像超1000人了

你再好好看看,人数怎么超1000人了?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-6 15:49:15 | 显示全部楼层

等等,不好意思看错了,对的对的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-29 10:16:04 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-21 00:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表