关于python的问题
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
好兄弟请问下这个怎么写?
参考参考代码,建议自己先写写哈:
#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
return sum 本帖最后由 xiaosi4081 于 2021-7-21 12:08 编辑
你这是直接请我们给你写对不?如果我没猜错的话,这是你们学校的作业,不是让我们写的,你这就相当于让我们代写!{:10_269:}
你写的过程中,可以请我们为你解答问题,而不是直接伸手要代码
看看这篇帖子吧
https://fishc.com.cn/forum.php?mod=viewthread&tid=198838&highlight=%D5%E2%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
return sum xiaosi4081 发表于 2021-7-21 11:46
你这是直接请我们给你写对不?如果我没猜错的话,这是你们学校的作业,不是让我们写的,你这就相当于让我们 ...
好的,下次不会了
页:
[1]