鱼C论坛

 找回密码
 立即注册
查看: 1930|回复: 3

[已解决]关于python的问题

[复制链接]
发表于 2021-7-21 11:43:29 | 显示全部楼层 |阅读模式
30鱼币
1.编写一个函数odd_sum_while(n),用while 循环计算所有小于n 的正奇数。

注意:你可以用 for 循环来做到这一点,但你应该用一个 while 循环来练习。

测试:
assert odd_sum_while(10) == 25

2.编写一个函数,young_john(people),如果字典 people 包含值为 19 的键“John”,则返回 True。否则返回 False。
测试:
assert young_john({ "Rob": 31, "Sarah": 24, "Chen": 20, "John": 19})
assert not young_john({ "Rob": 31, "Sarah": 19, "Chen": 20, "James": 22})
assert not young_john({ "Rob": 31, "Sarah": 24, "Chen": 20, "John": 23})

3.考虑一个游戏,其中某些卡片价值一定数量的点数。 编写一个函数 score(card_points, card),它接受一个表示每张卡片点数的字典和一个字符串列表,并计算该列表的总分。 您可以假设如果一张卡不在 card_points 中,则它不值得任何积分。 如何使用该功能的示例在下面的测试单元格中。
测试:
assert score({"Ace": 5, "King": 3, "Queen": 2, "Jack": 1 },
             ["10", "Jack", "Ace", "King", "Queen", "King", "3"]) == 14
assert score({"Fire": 2, "Wind": 1, "Water": 1, "Earth": 3 },
             ["Fire", "Fire", "Wind", "Water", "Earth"]) == 9

好兄弟请问下这个怎么写?
最佳答案
2021-7-21 11:43:30

参考参考代码,建议自己先写写哈:
#1
def odd_sum_while(n):
    sum = 0
    while n:
        if n % 2:
           sum += n
        n -= 1
    return sum
#2
def young_john(people):
    if "John" in people and people["John"] == 19:
        return True
    return False
#3
def score(card_points, card):
    sum = 0
    for i in card:
        if i in card_points:
            sum += card_points[i]
    return sum

最佳答案

查看完整内容

参考参考代码,建议自己先写写哈:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-21 11:43:30 | 显示全部楼层    本楼为最佳答案   

参考参考代码,建议自己先写写哈:
#1
def odd_sum_while(n):
    sum = 0
    while n:
        if n % 2:
           sum += n
        n -= 1
    return sum
#2
def young_john(people):
    if "John" in people and people["John"] == 19:
        return True
    return False
#3
def score(card_points, card):
    sum = 0
    for i in card:
        if i in card_points:
            sum += card_points[i]
    return sum
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-21 11:46:33 | 显示全部楼层
本帖最后由 xiaosi4081 于 2021-7-21 12:08 编辑

你这是直接请我们给你写对不?如果我没猜错的话,这是你们学校的作业,不是让我们写的,你这就相当于让我们代写!
你写的过程中,可以请我们为你解答问题,而不是直接伸手要代码
看看这篇帖子吧
https://fishc.com.cn/forum.php?m ... 2%D6%D6%CF%D6%CF%F3


算了,帮你写一次,下不为例:
#1
def odd_sum_while(n):
    sum = 0
    for i in range(0,n,-1):
        if i % 2 == 0:
            sum+=i
    return sum

#2
def young_john(people):
    if "John" in people.keys():
        if people["John"] == 19:
            return True
    return False

#3
def score(card_points, card):
    sum = 0
    for i in card:
        if i in card_points.keys():
            sum += card_points[i]
    return sum
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-7-21 23:00:48 | 显示全部楼层
xiaosi4081 发表于 2021-7-21 11:46
你这是直接请我们给你写对不?如果我没猜错的话,这是你们学校的作业,不是让我们写的,你这就相当于让我们 ...

好的,下次不会了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-14 01:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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