鱼C论坛

 找回密码
 立即注册
查看: 6791|回复: 62

[已解决]老师布置的习题

[复制链接]
发表于 2022-9-28 19:37:04 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 wsndc 于 2022-9-28 20:00 编辑

一.随机产生50位同学的成绩(0到100之间)
2.(3)将成绩按
         5号同学 98
        17号同学 96
        的格式输出

二.随机产生50位同学的语文成绩、数学成绩、英语成绩(0到100之间),参考格式为[(50, 4, 37), (82, 4, 59)]按总分从高到低(如总分相同按数学成绩从高到低)排列输出

三.输入一个英文句子,以回车符结束,单词间以空格分隔,标点符号后跟至少一个空格,统计并输出单词的个数
        示例
        输入:Life is short, you need Python!       
        输出:6
四.老师问小明1~13 中包含 1 的个数有多少?小明数了一下,发现有 1、10、11、12、13 包含数字1, 1 共出现 6 次。老师又问:输入一个正整数n,求出 1~n 的整数中 1 出现的次数,小明不会了。赵老师希望你帮帮他,求出任意非负整数区间中 1 出现的次数

五.据说著名历史学家 Josephus有过以下的故事:Josephus及他的朋友共41人围成一个圆圈,由第1个人开始报数,每数到3该人就必须出去,然后再由下一个人重新报数,直到只剩下1人为止,问最后剩下的是原来的第几个人?
若总人数n和每次出局的数字k都从键盘输入呢?

六.随机产生20个个位数,将有重复的数字按重复次数从大到小输出

七.有两个字典数据如下: dic1 = {'Tom':21,'Bob':18,'Jack':23,'Ana':20} dic2 = {'李雷':21,'韩梅梅':18,'小明':23,'小红':20}

请将dic1 按键的大小升序排序,将dic2按值的大小升序排序,输出dic1的前n个键的内容,输出dic2前n个键值对。当n大于元素个数时,按实际元素数量输出。
输入格式

输入一个正整数

输出格式

输出指定个数的排序后的元素
示例
输入:
2       
输出:
['Ana', 'Bob']
[('韩梅梅', 18), ('小红', 20)]

这几道要么一点思路没有,要么只有一点思路,都快崩溃啦
最佳答案
2022-9-28 20:47:14
目前做了5道:
from random import randint as ran
def solve1():
    score = []
    for i in range(50):
        score.append(ran(0, 100))

    for i in range(50):
        print(f"{i + 1} 号同学 {score[i]}")

def solve2():
    score = []
    for i in range(50):
        score.append([ran(0, 100), ran(0, 100), ran(0, 100)])

    def cmp(a, b):
        if a[0] + a[1] + a[2] != b[0] + b[1] + b[2]:
            return a[0] + a[1] + a[2] < b[0] + b[1] + b[2]
        if a[0] != b[0]:
            return a[1] > b[1]

    for i in range(0, 50):
        for j in range(i, 50):
            if cmp(score[i], score[j]):
                score[i], score[j] = score[j], score[i];
    print(score)

def solve3():
    s = input().split()
    s = list(map(lambda s : len(s) != 0, s))
    print(len(s))

def solve4():
    n = int(input())
    cnt_one = 0
    for i in range(1, n + 1):
        tmp = i
        while tmp != 0:
            if tmp % 10 == 1:
                cnt_one += 1
            tmp //= 10
    print(cnt_one)

def solve5():
    n = int(input())
    k = int(input())
    people = []
    for i in range(n):
        people.append(i + 1)
    c = 0
    pos = 0
    while c != n:
        for i in range(k):
            pos += 1
            pos %= (n - c)
        
        print(people[pos - 1])
        people.remove(people[pos - 1])
        c += 1
        pos -= 1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-9-28 19:54:02 | 显示全部楼层

回帖奖励 +5 鱼币

WOC,这么多的吗?我试试....
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-28 20:02:38 | 显示全部楼层
不会,凑个人气吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-9-28 20:02:59 | 显示全部楼层

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

使用道具 举报

发表于 2022-9-28 20:03:28 | 显示全部楼层
运气不好,再凑个人气
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-28 20:04:02 | 显示全部楼层
运气这么不好吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-28 20:04:47 | 显示全部楼层
难道是因为打的字太少,这样会不会好点,再不行上课去了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-9-28 20:05:05 | 显示全部楼层

哈哈哈哈哈哈,你这样子我可要嘲笑你了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-28 20:09:18 | 显示全部楼层
wsndc 发表于 2022-9-28 20:05
哈哈哈哈哈哈,你这样子我可要嘲笑你了

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

使用道具 举报

发表于 2022-9-28 20:25:04 | 显示全部楼层
我要开始做正事了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-9-28 20:27:03 | 显示全部楼层

明天中午还有测试,我想摆烂了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-28 20:47:14 | 显示全部楼层    本楼为最佳答案   
目前做了5道:
from random import randint as ran
def solve1():
    score = []
    for i in range(50):
        score.append(ran(0, 100))

    for i in range(50):
        print(f"{i + 1} 号同学 {score[i]}")

def solve2():
    score = []
    for i in range(50):
        score.append([ran(0, 100), ran(0, 100), ran(0, 100)])

    def cmp(a, b):
        if a[0] + a[1] + a[2] != b[0] + b[1] + b[2]:
            return a[0] + a[1] + a[2] < b[0] + b[1] + b[2]
        if a[0] != b[0]:
            return a[1] > b[1]

    for i in range(0, 50):
        for j in range(i, 50):
            if cmp(score[i], score[j]):
                score[i], score[j] = score[j], score[i];
    print(score)

def solve3():
    s = input().split()
    s = list(map(lambda s : len(s) != 0, s))
    print(len(s))

def solve4():
    n = int(input())
    cnt_one = 0
    for i in range(1, n + 1):
        tmp = i
        while tmp != 0:
            if tmp % 10 == 1:
                cnt_one += 1
            tmp //= 10
    print(cnt_one)

def solve5():
    n = int(input())
    k = int(input())
    people = []
    for i in range(n):
        people.append(i + 1)
    c = 0
    pos = 0
    while c != n:
        for i in range(k):
            pos += 1
            pos %= (n - c)
        
        print(people[pos - 1])
        people.remove(people[pos - 1])
        c += 1
        pos -= 1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-28 21:04:07 From FishC Mobile | 显示全部楼层
今天我做不了了,明天你也没有时间,要不,今天就这样?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-28 21:04:43 From FishC Mobile | 显示全部楼层

回帖奖励 +5 鱼币

没中?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-9-28 21:05:19 From FishC Mobile | 显示全部楼层

回帖奖励 +5 鱼币

哈哈,中了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-28 21:05:55 From FishC Mobile | 显示全部楼层

回帖奖励 +5 鱼币

双双中了,谢谢楼主
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-9-29 18:36:55 | 显示全部楼层

你这个我没看懂,我复制代码执行出来下面啥也没有
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-29 20:07:37 | 显示全部楼层
wsndc 发表于 2022-9-29 18:36
你这个我没看懂,我复制代码执行出来下面啥也没有

函数需要调用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-30 07:36:01 | 显示全部楼层
来摸奖
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-30 07:38:06 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-25 21:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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