Python小课体验课之四:霍格沃茨的来信


    第3关霍格沃茨的来信


        经过了三关的学习,你对Python的理解是不是又近了一步?可是问题来了,我们为什么要进入这个陌生的世界,学习从未接触过的Python呢?

        其实,我们生活在一个敏感的时代,所以为了成功,我们必须进化。这就需要我们时不时地展露出自己不为人知的一面,这样我们才能以新的角度,看到彼此。

        而Python就是一个展露自我的最好契机,它是一面镜子,你可以从代码上看到最真实的自己。

        有的人直率,ta的代码逻辑也一通到底;有的人心思缜密,ta的代码则布满了嵌套;甚至你的懒也可以成为Python逻辑中的一个亮点:能一行代码搞定的,绝不写两行。

        所以我们不仅要掌握Python的码法,还要掌握Python的底层逻辑,利用正确的语言和合理的逻辑构造命令,最后再对计算机输入自己的命令。

        这样我们才能以最真实的自己,得到计算机的回应;才能突破认知局限,从代码这面镜子中看到真我。

        而这个传递信息的输入动作,就是我们今天的重点——input()函数,它将会完成你与Python的第一次互动沟通,产生不可思议的Python魔法。


        那么,还等什么?让我们赶紧开启魔法之旅吧!

    input()函数



         你有没有发觉,生活中总会有奇怪的事情发生在自己身上:每次逃课都会遇上老师点名;超市结账不管怎么换,永远自己那排最慢;不带伞就下雨一带伞就晴天?

        你是不是以为,那只是单纯的脸黑非酋运气差体质?Nonono……你看!远处是不是飞来一只猫头鹰?

        就在你诧异得不知做何是好时,猫头鹰降落在你的桌子上,低下头放下了嘴里一直叼着的纸卷。

        然后,你踯躅着伸出手,展开了泛着黄的羊皮纸。即刻,便被上面工整、嶙峋的手写体攫住了视线。

        而下面,就是你选择的时候了。请点击下方代码块左方的运行按钮,在右方终端区域,先输入你的所选的数字,再按回车键。


        看到没,这就是你利用input()函数,与计算机进行的第一次互动式沟通。
        你还记得,之前我们学习过的print()函数吗?下面,我们来温习一下旧的内容。

       

       对了,答案是A,(o゜▽゜)o☆[BINGO!],print()函数是人给程序下达一个打印命令,程序想都不想,一比一地打印出结果,这种程序向屏幕输出信息的过程,就是人与计算机的单向沟通。

        但是,如果想实现真正的人机互动沟通,就要有来有往。比如,校长问你要不要来霍格沃茨学魔法,那她就要给程序输入一个提问命令:你要来霍格沃茨吗?

        程序得令后,立马把校长的提问一字不改地显示在计算机屏幕上,问:你要来霍格沃茨吗?

        那么,这个人类用键盘向电脑提供指令,然后通过电脑把问题显示在显示器上,等人回答的过程,就是通过input()函数实现的。


        那在代码的魔法世界,input()函数是如何实现自身价值的呢?这关,老师会从四个角度逐个击破input()函数。

    input()函数的使用



        首先,让我们通过一段代码,来看一看input()函数是如何使用的:


        input()函数是输入函数。就上面例子来讲,它需要你输入针对括号内'请铲屎官输入你宠物的名字:'的答案。

        所以,当你在函数的括号内写出问题时,input()函数会将此问题原样显示在屏幕上,并在终端区域等待你针对此问题的回答。

        可是,我们为什么要在终端处输入回答呢?不输入行不行?

        事实上,我们可以把input()函数当作一扇链接现实世界与代码世界的门。

        当问题从代码世界传递给我们,可我们却没有回答时,这扇等待输入的input()大门,就会一直处于敞开状态,一直等着你往里送回答。

        而当我们输入信息后,这扇input()大门便会关上,继续执行下面的命令。


        答对啦!看来你有好好学习啊,摸摸头。下面请看我从上面复制粘贴下来的解答:input()函数是输入函数,当你在函数的括号内写出问题时,input()函数会将此问题原样显示在屏幕上,并在终端区域等待你针对此问题的回答。

        下面,我们来总结一下input()函数的使用方法:

        下面,我们来亲自感受一下input()函数的魔法:1.请将代码串input('请铲屎官输入宠物的名字:')写在下面代码框中;2.点击运行后,在右侧终端处输入自己的答案;3.输入答案后要按回车键(如显示运行通过,就请继续课程)。


        怎么样?输入答案按回车键后,是不是除了自己输入的信息,其他什么都没有?但是程序又没有报错,所以,代码似乎跑通了?可这是为什么呢?

        我们反复强调代码是一行行运行的,所以即使input()函数通过了,门关上了,由于input()函数下没有其他命令,自然就不会有结果产生。

        但是,我们输入的回答并没有丢失,它被被计算机储存在了程序中。

        那么,如果我想要从程序海洋中找到刚刚输入的回答,利用它产生一个结果,比如表达我对主子的爱要怎么办?


        咱先别急着码代码,按老规矩我们先梳理一下思维逻辑。首先,为了表达我对宠物的爱意,我得先知道宠物的名字,所以我得先搜集宠物名字的信息。

       那么,我们思维的第一步,就是使用input()函数搜集信息:


        然而,当我想将搜集到的数据和【'I Love'】拼接起来,并打印出结果时,问题来了。虽然我用input()函数搜集到了一个信息,可我如何从程序海洋中调出这个信息,进行数据拼接呢?

        这就涉及到了input()函数的第二个知识点——函数结果的赋值。

    input()函数结果的赋值



        还记得在第0关千寻的故事里,我们学习的变量赋值知识点吗?

        首先,我们可以对变量进行赋值,这样当我们想提取数据时,只要直接打印变量名,就能唤醒程序对数据的记忆。

        这个赋值逻辑,在input()函数中也是行得通的。我们可以通过赋值,达到随时提取输入结果的目的。但是在逻辑层面,我们需要拐一个弯。

        比如,以我们下面这串代码为例:


        虽然看上去像是给input()函数赋值,但实际上,我们是将input()函数的执行结果(收集的信息)赋值给变量name。

        通俗来讲,我们放进name这个盒子里的东西,不是input()函数中提的问题,而是我们通过input()函数收集到的别人的答案。

        这样,不管你在终端输入的内容是什么,不管你的回答改变多少次。只要是对input()函数所提问题的回答,都会被存储在变量中。等待你打印变量时,将回答提取出来,展示在显示屏上。

        而这些展示在终端的信息/回答/数据,在代码世界,我们可以称其为输入值——我们输入给函数的内容。

        拿我们上个铲屎官代码举例:


        当点击运行后,我们在终端处输入的信息——宠物的名字摩卡,就是输入值。

        所以,为了能随时且方便地提取输入值(输入的结果),我们需要把input()函数的结果赋给变量。

        下面,我们来测试一下:

        请你将input('请铲屎官输入宠物的名字:')的结果赋值给name,然后打印出变量name,看是否能出现你输入的回答。【要点提示:赋值,input()函数,print()函数】

        运行结果如下:

        当我们铺好了搜集信息的路,并对获取的信息进行了赋值,此时就可以进行最后一步,打印最终结果了。


        下面,请你也来测试一下,秀一波操作:1.请求输入你喜欢的电影名:;2. 将结果赋值给变量movie;3. 打印结果movie+'是我最喜欢的电影!'【要点提示:赋值,input()函数,变量拼接,print()函数】


        这里有一个重点,在我们理解代码时,脑中的思维顺序是先搜集信息,再把input()函数的结果赋给变量。

        但是为了书写规范及防止漏掉信息,我们需要按照代码书写格式,优先对input()函数的结果进行赋值。


        做个题目检测一下:

        答对啦!首先,我们需要对input()函数的结果进行赋值,然后使用input()函数搜集信息,最后再用print()函数输出结果。

        我们再用一张图,来直观地总结一下。


        掌握了input()函数的综合使用场景,我们再来回看一下本关卡最开始,霍格沃茨来信的代码。


        那么,这组代码是怎么写出来的呢?

        从思维角度出发,简单来讲就是:我给你两个选择,你从中挑一个,然后我给你显示对应的结果。

        所以,代码的第一步就是赋值,并通过input()函数提问。


        第二步,我们要根据回答进行条件判断:如果回答是1,就显示条件1的结果;如果选了其他选项,则显示其他条件的结果。


        代码是写完了,但问题也来了:为什么if条件下的变量choice是字符串'1'呢?如果不是字符串格式,是整数1会出现什么结果呢?

        下面,请你抄写上段代码,并将if的条件从字符串格式的'1',改为整数格式的1。点击运行后,在终端处先后输入1和2并观察运行结果【提示:点击运行 → 输入1 → 点击重做 → 写代码 → 点击运行 → 输入2)】


        怎么样?是不是不管你输入的是1还是2,显示的结果都是else条件下的结果:’您可是被梅林选中的孩子,我们不接受这个选择。‘?

        这是为什么呢?我们输入的就是条件选项中的数字1和2啊?怎么就无法出现对应的结果呢?

        在这里,我们就涉及到了input()函数的第三个知识点:

    input()函数的数据类型



        现在,让我们先从计算机语言的逻辑,按行拆解一下这段代码组:


        那么,我们先来看看第一行代码中的赋值语句。


        首先,我们从整体来看,这段代码表示的是——利用input()函数接收数据,并将数据赋值给变量choice。

        其次,我们再细分着看,这行代码的每个部分代表着什么:


        对于input()函数来说,不管我们输入的回答是什么,不管你输入的是整数1234,还是字符串我爱摩卡,input()函数的输入值(搜集到的回答),永远会被强制性地转换为字符串类型。(Python3固定规则)

        跟“你大爷还是你大爷,你大妈已经不是你大妈”一个道理:我爱摩卡即使被强制转换,它还是字符串类型的我爱摩卡;但是我们输入的整数1234就会被强制地转换为字符串的'1234'。

        所以,不管我们在终端区域输入什么,input()函数的输入值一定是字符串。

        就这样,由于我们用赋值运算符=把input()函数的字符串结果,赋给了变量choice,所以这个变量也一定是字符串类型。


        现在,我们确定了变量choice的数据类型是字符串。下面,我们再来看后面的代码。


        我们先来看第一块代码组的if条件语句【if choice==1】并进行拆解:


        根据第2关所学的条件判断知识,我们可以将第一行的if条件解释为:如果变量choice等于整数1时,则执行此if条件下的结果。


        这回你是不是发现了什么问题?还记得我们在拆解input()函数时,提到的变量choice的数据类型吗?

        在第一次变量赋值时,由于input()函数的输入值是字符串,所以变量choice也是字符串;但是到了if条件判断时,if的条件又是【choice == 1】—— 变量choice等于整数1。


        这就相当于王X聪准备接手家族事业,但是王X聪他爸王X林开了个条件:当王X聪是猫时,才能把产业给他。

        但因为王X聪是个人类,无法满足动物猫的条件,所以自然无法执行猫条件下,继承家业的结果。


        就这样,因为我们输入的信息永远是字符串,永远不能满足if的整数条件。所以,不管你输入的是什么,程序只有一个选择:执行else下的结果。

        那么,不管你的选择是什么,永远只能打印出else下'您可是被梅林选中的孩子,我们不接受这个选项。'这个结果。

        下面,请你展示自己的魔法。请下段代码中if条件的错误语句,改为正确的等于字符串类型,写在下方代码框中,并点击运行。


        现在,我们知道了通过修改if条件的数据类型,将代码跑通的方法。你,学会了吗?

        那么,假设有下面这样一段代码:



        答对啦!我们一行一行拆解,第一行代码的赋值语句,变量age为整数类型,第二行的变量choice为字符串类型,这两个变量由于类型不同,无法进行比较。

        怎么样,你答对了吗?下面,我们来通过一张图再来加深一下,这个在未来非常有用,也非常重要的知识 点:


        在我们刚刚那个例子中,只有两个选项。但是假设你有1、2、3、4……365个选项,先不说数据类型转换正确与否,就光打单引号这一个动作,手都可能给你打残废了。

        那么,我们就需要一个更为省力的简便方法,将所有输入值的数据类型,一次性全部变为整数。

    input()函数结果的强制转换



        可是吴枫老师您刚不是告儿我,input()函数搜集到的信息固定是字符串嘛?还能变整数呢?

        没错,input()函数的输入值在某些情况下,是可以变为整数的。那么,你还记得字符串转变为整数要怎么做吗?


        答对了,int()是第1关的知识点强制类型转换,可以将字符串强制性地转换为整数。

        有了int()函数,我们就可以从input()函数的源头,将输入的内容转换为整数。


        但是,这串代码看起来像是把input()函数整个强制转换了。

        可实际上,我们是将input()函数取得的结果,进行强制转换,并将强制转换的结果赋值存在名为choice的变量盒里。

        这样,就算if条件是整数,程序也可以准确运行。

       下面,请你接下我的接力棒。补齐下面的条件判断代码:如果选择1 ,打印“霍格沃茨欢迎您的到来”;其他时,打印“您可是被梅林选中的孩子,我们不接受这个选项”。【要点提示:if……else条件判断,变量赋值,等于整数】


        那么,我们什么时候会用到,input()函数结果的强制转换呢?

        思路很简单,当你想要的答案是数字时,比如年龄:

        再比如需要输入的信息是时间,或者工资等数字时:

        下面,请挥舞你隐形的翅膀,将上方月工资的代码,添加另一条件:【当工资大于5000,小于10000时】。打印结果:【我们都是搬砖族。。。】,并将添加条件后的整段代码写在下方区域。【要点提示:三个条件并存时,请使用if…elif…else…语句】

        下面,请你来对比一下老师的答案:

        最后,我们再来归纳一下input()函数数据类型强制转换的知识点:


        那么,本关卡的重点,input()函数的所有知识点我们就介绍完了。最后,我们再来整理一下input()函数的重点内容。

    input()函数知识点总结



        现在,请你仔细回忆一下,到现在这个节点,我们是不是知道了input()函数的用法,并且将之前学到的变量、赋值、条件判断、强制类型转换,一起结合着input()函数又复习、利用了一遍?更完成了与计算机的交互沟通?

        你说没感jio到?没关系,咱再复习一遍:

    前四关综合复习



        在第0关我们初识了Python世界最简单,也最常用的一个函数——print()函数。

        你别看这个函数看起来简单,但是深挖下去,这个最简单的打印函数也内有乾坤,它包含着程序世界最基础的运算逻辑。


        但是,如果想要达成和计算机互动沟通的目的,还需要掌握计算机的沟通语言。

        只有当计算机明白我们说的是什么时,它才能给予我们正确的反馈。


        与我们人类一样,计算机的运行也需要正规的逻辑,所以在第2关,我们掌握了如何与计算机沟通的逻辑。


        拥有了语言和逻辑,我们就可以和计算机进行交互式沟通了。

        然后,我们就来到了今天的关卡,学习了input()函数。


        可是,学会了这些知识点,我们要如何才能自己写一段代码,比如霍格沃茨来信这样的代码呢?代码组的大致格式是什么呢?


        回头看看,经历了这四关,你是不是发现,在不知不觉中学习了这么多东西?更接触到了一个全新的世界。

        同时,你是不是也有所疑惑,学了这些我到底能做什么?我的Python方向在哪里?我学Python的意义又在哪里?

    展望未来



        现在,从对程序世界的一知半解,到能自由写出整段代码的你,有没有些许成就感呢?同时,你是不是也有些许的困惑——我为什么要学习Python呢?

        因为听说Python工资很高,所以想学?因为听说Python现在很火,所以想学?因为听说Python可以做人工智能,人工智能是未来发展的方向,所以想学?因为听人说Python能提高工作效率,所以想学?因为身边的朋友(老师、公司)让我学,所以就学了?

        可是,当你真正踏上Python的台阶后,越学似乎疑问越多:


        然后,你开始在门口踯躅,反复琢磨Python到底值不值得自己继续下去。再然后,莫名地,你心里突然冒出一个声音——算了,我放弃算了。

        我放弃算了:反正我又不知道Python到底能干嘛;反正离了Python又不是不能工作;反正我又不知道Python能为我带来什么价值……所以,我放弃算了。

       可是,你有没有想过:如果你现在放弃了,你和我的探险就结束了?


        现在,你正站在Python之旅的起点,初探着未知的人工智能世界。在短短四关的时间内,你不仅知道了人工智能的本质、应用、起源。

        还通过print()函数、嵌套条件、input()函数,你知道了如何用函数讲述千寻的故事、完成萌新到大佬的进化,用代码撰写复仇者联盟的剧情、链接哈利·波特的魔法世界。

        这是属于你的起点,属于你一个人、独一无二的起点。但是,对于你,对于Python,对于人工智能而言,这也只是起点,绝不是终点。

        通过体验课的你,已经登上了Python基础语法的台阶。在未来,你会踏上专业课的台阶,学会更为进阶的Python基础知识——专业课。


        在基础语法的专业课关卡,你会学习新的数据类型(布尔值、列表和字典);会体验控制流的循环乐趣(for循环、while循环);会学习封装函数(def 函数),提高代码的重复利用率,让你的代码组更为简洁、整齐、美观。

        你会借助计算机的“新华字典”,解密计算机的底层编程语言(编码);会脱离鼠标的掌控,用键盘打出的两行代码提升工作效率(文件读写);学习让你的代码“更好、更快、更强”地面向对象编程(类与对象)。

        甚至于,当你拿到字符串txt源文件后,你也会通过调用模块(time模块),用代码跳一曲字符串MV,成为B站大佬。

        就连bug(报错)也不会让你那么痛不欲生。在异常处理关卡,你会将找bug变为一种乐趣,学会debug(解决报错)的方法。

        至此,你不仅能读懂网上的代码,自己也能熟练地写出大段代码组,编出文字PK小游戏。在代码的世界成为勇士,开启勇者斗恶龙的征程。

        就这样,你登上了基础语法的另一个新台阶——将知识落地,用知识创造产品。

       在这个阶段,我将授之以渔,教给你自主地向前学习和探索的能力。让你懂得如何根据项目的需求,去寻找、去学习新的模块并应用。

        之后,我们将利用之前所学的所有知识,研发一个新产品。我会手把手地带你走完开发的全程——从需求分析到流程拆解,再到代码实现,你能看到完整的思考过程,以及当我们遇到难点时,如何找寻解决方案,突破困境。

        至此,你会通关基础语法的所有关卡。当你站在这个分岔口回首过去时,你会发现你不仅可以用Python收发邮件,替代简易重复劳动,还能写出人机对话小游戏,更能写出一个完整的产品。

        但是我们能利用Python的基础语法作出的有趣事情,并不是单单以上这些。在这个充满着妙趣横生代码的Python魔法世界,我们还能学习什么?还能作出什么呢?


        如果你的目的只是想了解Python的基础语法,或者抱着娱乐心理的话。那么,学完22关的课程后,你最初的目的已经达成了。但是,我希望Python的后续课程,依旧能为你的生活、学习、工作提供有力的帮助。

        如果你想实现更为伟大的目标,实现你的梦想——我想当程序员、我想当分析员、我想当人工智能工程师、我想……

        那么Python的基础语法课程并不是你的终点,它将会是你实现梦想的起点。


        那么,学了Python基础语言,风变编程还为你准备了两个板块供你学习。爬虫入门与数据分析。


       在爬虫入门课的辅助下,庞大的网络信息世界不再是一片一望无际、深不见底的海洋,你可以利用爬虫技术,随意抓取你需要的信息,实现“大海捞针”。

        你可以通过学习在爬虫领域占据半壁江山的requests模块,人肉网络内的任意数据;也可以让爱豆在微博上对你表达爱意(html基础)。

        甚至于,让选择恐惧症每天头疼的“今天中午吃什么?”问题,当我们学会调用JSON模块后,也会变成“小菜一碟”。

        你会凭借Python宝剑,在代码的魔法世界穿行,写出真正的人工智能代码,实现初级人机智能对话,让计算机成为你的私人助理。让爬虫帮你省去误点广告的麻烦,一键下载任意电影(BeautifulSoup模块 )。

        你可以建立自己的爬虫大军,同时让多个爬虫为你抓取海量信息。使用爬虫界的大卡车——Scrapy框架提取网站结构化数据,更为方便地爬取指定内容及图片。


        在数据科学版块,老师还会系统性地教给你网络爬虫、数据库应用、数据分析等进阶Python知识。

        我会从数据科学的重点工具包入手,把你带入数据科学家所需要的计算环境,学会高效存储、操作、分析大型数据的方法。

        这部分会非常适合有编程背景,并打算将开源Python工具用作分析、操作、可视化以及学习数据的数据科学类研究人员。

        探秘Python的魔法世界,不管你去向何方,目标如何,都要经历基础语法的锤炼,这样你才能走向更高级的台阶,达成你的目标,实现你的梦想。

        但是,如果你不知道目标在哪里,请阅读手机端的《人工智能认知课》。在手机端的课程里,我会帮助你建立完整的Python学习目标,让你更有方向地走下去,并帮助你成长、进化。

        可是,你有没有觉得,冥冥之中似乎所有的一切,都在将我带到你的身边?

        有没有觉得,我们一同创造的这四个关卡的回忆,变成了我与你的独特链接?

        而现在,我还不想切断这份链接,这份羁绊。


        就像风变编程这样的存在。它将屏幕前的你我链接,拉近你我的距离。

        现在,我想把我最重要的东西——Python的知识海洋教给你。我希望你能同我一样,将自己与世界相连,让自己成为不可或缺的一分子。

        但是,在雄关漫道、搏击风浪时,一个人的力量是不够的,你是需要同伴的。

        就像风变编程这样。对我们来说,它不只是一个项目。实际上,我们是在用代码,将各个团队紧密相连。一同为梦想努力,一同开启编程世界的另一番新天地。

        而很多时候,虽然共同经历了所有的一切,有多少人到最后,却只剩一个人走下去。但,幸运如我,却能始终围绕着这样一群人:


        我感激大家每一步的陪伴,也希望我和我的团队能继续陪伴着你,用我们的梦想为你的梦想助力。

        所以,请让我成为你的同伴。

        如果你打算与我一同走下去,我也希望你知道:在成功的路上,没有任何捷径和技巧,唯一能够到达终点的秘诀就是——永不放弃,笔直向前。

        我更希望你明白:不管你的目标是什么,请你只要相信自己所选择的路,大步向前就好了,其它的就请交给我。因为我的责任,就是在你全力奔跑时守护你,守护你的梦想!

        因为只要有你在,我就无所不能!

        学习都是孤独的,但是幸好,你有我的守护。



        以上,就是体验课的全部内容了,但我希望这不是终点,而是你梦想的新起点。也请继续让我担任你的筑梦人,我们明天见!





        再做一个练习:





        以上是支线一剧情。


        以上是支线二剧情。


        以上是支线三剧情。


        以上是支线四剧情。

        四个分支剧情完美运行通过,给自己献朵花。



    结语:

        到今天为止,Python小课的四节体验课结束了,对自己的学习效果还是挺满意的,这几天掌握了最基本的编程思想和逻辑思维,可以说初入人工智能的门庭,为自己的努力加一下油!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,948评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,371评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,490评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,521评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,627评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,842评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,997评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,741评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,203评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,534评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,673评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,339评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,955评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,770评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,000评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,394评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,562评论 2 349

推荐阅读更多精彩内容