一个关于 Python 的函数问题,求大佬指导

2017-06-02 13:51:13 +08:00
 char1998

First, def a function, shut_down, that takes one arguments. Don't forget the parentheses or the colon!

Then, if the shut_down function receives an s equal to "yes", it should return "Shutting down"

Alternatively, elif s is equal to "no", then the function should return "Shutdown aborted".

Finally, if shut_down gets anything other than those inputs, the function should return "Sorry"

谷歌的翻译如下:

首先,def一个函数,shut_down它需要一个参数 s。 不要忘记括号或冒号! 然后,如果shut_down函数接收到等于“ yes ”的 s,则应返回“ Shutting down ” 或者,elif等于"no",那么函数应该返回"Shutdown aborted"。 最后,如果shut_down得到除了这些输入之外的任何东西,该函数应该返回"Sorry"

def shut_down(s):
    return s
if __:
    return "Shutting down"
elif ___:
    return "Shutdown aborted"
else:
    return "Sorry"

试过几种。但是好像不行,求指导

3733 次点击
所在节点    Python
36 条回复
char1998
2017-06-02 14:32:43 +08:00
@rocksolid 这么写 return 根本不能返回
huamiao
2017-06-02 14:32:54 +08:00
@char1998 你的意思是说代码段也是题目的一部分?题目要求在横线处填空?
char1998
2017-06-02 14:37:24 +08:00
@huamiao 不是,代码是我自己写的,横线初填空是我感觉,题目说返回那个,我就直接返回了,然后就是我感觉判断语句写了好多遍都是错了
huamiao
2017-06-02 14:39:04 +08:00
如果你说的是 https://www.codecademy.com/courses/python-beginner-c7VZg/4/1
我试着写了以下代码是可以工作的。
def shut_down(s):
if s == 'yes':
return 'Shutting down'
elif s == 'no':
return 'Shutdown aborted'
else:
return 'Sorry'

另,python 感觉很方便的样子,决定学一下。
huamiao
2017-06-02 14:42:24 +08:00
因为左边的要求是分 1,2,3,4 步的,第一步的要求是定义一个 shut_down 函数,所以不应该把其他的代码都写在函数外面,这样与第一个要求不符。而我猜测后台判断应该是用相当于单元测试的方法去执行你写入的代码块的。
wuqiangroy
2017-06-02 15:03:10 +08:00
def shut_down(s):
if s == "yes":
return "Shutting down"
elif s == "no":
return "shutdown aborted"
else:
return "Sorry"
…………………………………………………………………………
LZ 你用 flask 写了个那么漂亮的 blog,这个不会???
ipwx
2017-06-02 15:07:23 +08:00
return {'yes': 'Shutting down', 'no': 'Shutdown aborted'}.get(s, 'Sorry')
Kilerd
2017-06-02 15:20:05 +08:00
shut_down = lambda x: {"yes": "Shutting down", "no": "shutdown aborted"}.get(x, "Sorry")
scriptB0y
2017-06-02 15:24:52 +08:00
你们在干嘛?
char1998
2017-06-02 15:32:35 +08:00
@huamiao 确实,有时候脑子没转过弯来,很感谢提醒
@wuqiangroy 说出来自己都不信,但是事实就是这样,仅仅会用 flask 而已,而且那个 blog,前端偏多,然后就是 python 基础语法用到很少
@ipwx 大佬,要按照那种规则来,这种这种应该是最简单的字典返回了吧
@Kilerd lambda,可以,这很 Pythonic
@scriptB0y 不知道
Kilerd
2017-06-02 15:36:28 +08:00
@char1998 # 27 写得没问题。

我写的是 lambda 形式而已

她的意思是这样的

def shut_down(s):
····return {'yes': 'Shutting down', 'no': 'Shutdown aborted'}.get(s, 'Sorry')
char1998
2017-06-02 15:42:29 +08:00
@Kilerd return 这种返回数据我就用来写过`json`,今天涨知识了,我想问问`.get`的效果能解释下吗
ty89
2017-06-02 15:46:13 +08:00
@Kilerd 这很 pythonic
HMSQQbA
2017-06-02 15:53:33 +08:00
莫名其妙的问题。
Kilerd
2017-06-02 15:58:46 +08:00
TuringGunner
2017-06-03 19:18:47 +08:00
惭愧惭愧,只会一般的写法,这种高端的写法,厉害

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/365436

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX