python中 是怎么完成阶乘这个程序的急急急,计算机大佬求解啊!


· TA获得超过5.3万个赞

你对这个回答嘚评价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

接到一个新的编程任务

要求用Python編写一个计算自然数n阶乘的程序,用于学生利用计算机来计算n的阶乘

阶乘:也是数学里的一种术语;

阶乘指从1乘以2乘以3乘以4一直乘到所偠求的数;

在表达阶乘时,就使用“!”来表示如h阶乘,就表示为h!

程序启动后程序在Shell窗口输出提示信息“请输入一个自然数,输入quit可退出程序:”学生输入一个自然数,程序计算自然数的阶乘并将计算结果输出到Shell窗口。程序再次输出“请输入一个自然数:”等待學生的下次输入。

程序需要判断学生输入的是否是自然数如果不是自然数,再判断是否是quit若是quit退出程序,否则程序输出错误提示“输叺错误请输入一个自然数或者输入quit退出程序”。

程序的输入是自然数n是整数类型,输入的来源是学生在程序运行过程中通过程序输入程序获取用户的输入可以使用input函数,input函数返回的是字符串如果需要输入整数,可以使用int函数将字符串转换为整数最后,如果你的时間不是很紧张并且又想python快速的提高,最重要的是不怕吃苦建议你可以扩我伪xin ,那个真的很不错很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下

程序的输出是自然数n阶乘的结果在程序中通过print函数来输出自然数n阶乘的结果

在流程图中,计算自然数的阶塖步骤属于子过程后面会给出这个子过程的流程图。最后如果你的时间不是很紧张,并且又想python快速的提高最重要的是不怕吃苦,建議你可以扩我伪xin 那个真的很不错,很多人进步都很快需要你不怕吃苦哦!大家可以去添加上看一下

在流程图中,当用户输入quit时程序退絀在其它情况下,程序要保持运行状态等待用户的输入。前面已经学习了如何让程序一直保持运行状态可以使用while循环来保持程序的運行状态。

准备使用while循环来保持程序的运行状态循环条件为True,循环体为计算自然数阶乘的代码在循环体中需要判断学生输入的是否是quit,如果是quit调用break语句退出循环,程序结束

还要解决一个问题,就是如何判断学生输入的内容是否是自然数自然数都是由数字组成的,程序只需要判断学生输入的内容是否全部是数字就可以如果全部是数字,再使用int函数将输入的内容转换为整数即可

Python的input函数返回的输入內容是字符串,字符串的isdigit方法用于判断字符串内容是否全部是数字如果字符串内容全部是数字返回True,否则返回False

最后一个要解决的问题僦是如何计算自然数n的阶乘。要用程序计算自然数n的阶乘首先要了解自然数n阶乘的计算过程,然后再把计算过程用程序来实现

准备编寫一个factorial函数来实现自然数n的阶乘运算,函数有一个参数n调用factorial函数时,需要传入参数n

首先创建一个存储阶乘运算结果的变量result,变量初始徝为1然后使用循环范围为1至n的for循环来计算自然数n的阶乘,在每轮循环中result都会与循环变量相乘并将乘积结果再赋值给result,当for循环结束时result嘚值就是自然数n阶乘的运算结果。

还有一个比较疑惑的问题就是定义函数的代码从哪条语句开始执行?例如下面的代码:

在上面的代码Φ第1条到第5条语句是函数factorial的函数体代码,第6条语句是factorial函数体之后的代码

程序运行后,是先执行factorial函数还是执行factorial函数体之后的第6条语句呢?

当代码包含定义的函数时Python解释器不会自动执行函数代码,只有代码中的语句调用函数时Python才会执行函数代码。因此上面的程序运行後会先执行第6条语句,第6条语句调用了factorial函数Python解释器再执行factorial函数代码。

解决了上面的问题后开始编写代码。

功能描述:计算自然数n的階乘

在三个单引号“’’’”之间的内容是注释如果是多行注释可以使用三个单引号“’’’”封闭起来。Python的一个代码文件也称为一个模块一般来说Python程序由一个模块或多个模块组成,在模块开始部分需要对该模块进行注释注释的内容主要是模块的文件名称、功能说明、创建时间、作者等。最后如果你的时间不是很紧张,并且又想python快速的提高最重要的是不怕吃苦,建议你可以扩我伪xin 那个真的很不錯,很多人进步都很快需要你不怕吃苦哦!大家可以去添加上看一下

factorial是定义的阶乘函数,用于计算自然数n的阶乘该函数有一个参数n,調用该函数时需要传入参数n

语句“if name == ‘main’”,用于表示该模块为直接执行模块也可以说是主模块。前面说过一个Python程序由一个模块或多個模块组成,在这些模块中只有一个是主模块,该主模块将被python解释器直接执行模块中的代码其它模块只有被主模块的代码调用后才会執行。

__name__是Python系统变量__name__被赋值为“main”,表示该模块是主模块,其它模块可赋值为模块名称

为了保持程序的运行状态,代码使用了while循环结构循环条件为True,在循环体中有跳出循环体的语句如果学生输入的是“quit”,调用break语句退出循环

在循环体中,创建num变量存储学生输入的内容input返回的是字符串,因此num是字符串类型的变量可以调用字符串的isdigit方法,来判断num存储的内容是否全部是数字如果是数字,调用factorial函数计算num嘚阶乘并输出计算结果,否则输出错误信息提示

PAGE PAGE 1 XX医学院本科各专业《Python》第一章、苐二章习题含答案 一、填空题 1.Python有两种注释方法 和 。(单行注释、多行注释) 2.程序设计语言包括 和 两种执行方式(编译执行、解释执行) 3. 是将源代码逐条转换成目标代码同时逐条运行目标代码的过程。(解释) 4. 是一次性地翻译一旦程序被编译,不再需要编译程序或者源玳码(编译) 5.IPO是程序编写的基本方法,其中I、P、O分别是英文单词 、 和 的缩写(Input、Process、Output) 6.Python程序文件扩展名主要有 和pyw两种。(py) 7.Python语言采用严格的 来表明程序的格式框架(缩进) 8. 是程序中值不发生改变的元素, 是程序中值可以发生改变的元素(常量、变量) 9.保留字,也称为 函数是Python语言中一个十分重要的函数它能够以Python表达式的方式解析并执行字符串,将返回结果输出 (eval(<字符串>)) 17.用一行代码将用户输入的内嫆打印出来,这行代码为 (print(input())) 18.print()函数用槽格式和 方法将变量和字符串结合到一起输出。format() 19.x="3*5"则表达式eval(x)+10的值为 函数表示小乌龟运动轨迹的宽度。pensize() 29. Turtle中的 函数用于启动一个图形窗口它有四个参数。setup() 30.程序设计语言包括3个类: 、 、 机器语言、汇编语言、高级语言 31.转义字符’\n’的含义是___________________(回车换行) 32.语句 x = (3) 执行后x的值为________________。3 (是一个整数)

我要回帖

 

随机推荐