计算机二级练习仓库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

401 lines
13 KiB

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 实践1 python初印象\n",
"\n",
"## 学习目标\n",
"1. 熟悉Jupyter lab交互开发环境\n",
"2. 掌握Python 语句的编写,运行和修改\n",
"3. 阅读Python微程序,尝试模仿改写程序"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1. 安装Jupyter lab \n",
"如要在自己电脑本地使用 Jupyterlab 需要在命令提示符窗口(CMD)先用 Python 的包管理工具 pip 来安装:\n",
"\n",
"`pip install jupyterlab` \n",
"\n",
"然后就可以用\n",
"\n",
"`jupyter lab`\n",
"\n",
"来运行 Jupyterlab,打开 notebook 进行交互式编程的尝试。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2.创建使用Notbook文件\n",
"\n",
"(1)Notbook文件 \n",
"File菜单 -> New Notebook 创建一个新的Notbook文件 \n",
"\n",
"(2)单元格 \n",
"Notbook文件是有若干单元格构成,单元格的类型可区分为:Code(代码)、Markdown、RAW。 \n",
"\n",
"Code类型的单元格中可以编写一条或多条python语句。按上方三角形运行(Run)按钮执行,或快捷键Ctrl+Enter;\n",
"RAW类型的单元格是纯文本;\n",
"Markdown类型的单元格支持Markdown格式,请自行查阅。 \n",
"\n",
"(3)使用工具栏命令可以增加,复制,删除,移动单元格。 "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"#示例1 一条语句\n",
"print(\"Hello Python World!\")"
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"说明: \n",
"(1)print是一个Python标准输出函数,函数的功能是执行“打印”的功能。 \n",
"(2)\"Hello, Python World!\"是字符串,在一对双引号中你可以输入任意文字,包括中文和标点符号,但使用引号要慎重。 \n",
"(3)一对圆括号是函数的标志,和print函数名配合使用,不可缺少。 \n",
"(4)圆括号里的是函数的参数。此处参数是一个字符串,也就是print函数输出的内容。 \n"
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"请在此下方增加一个code单元格,输入一个print命令并执行"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# 示例2 多条语句\n",
"#Fl1-1 重要的事情说三遍\n",
"print(\"重要的事情说三遍\")\n",
"print(\"Hello Python World!\")\n",
"print(\"Hello Python World!\")\n",
"print(\"Hello Python World!\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 3.认识程序的语法错误\n",
"当编写的python程序代码没有遵循Python的语法规定时,会报错显示错误信息。学习阅读错误信息,快速定位错误位置,编写程序的基本功。 \n",
" File \"C:\\Users\\qtzhu\\AppData\\Local\\Temp/ipykernel_5712/281370357.py\", line 1 \n",
" print(\"重要的事情说三遍) <-- 出错的语句 \n",
" ^\n",
"SyntaxError: EOL while scanning string literal \n",
"出错的类型:语法错误 文本串没有结束 \n",
" \n",
"下面程序有三处语法错误,你能找出来吗?(每找到一个错误,修改后重新执行,阅读错误信息提示)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"print(\"重要的事情说三遍)\n",
"print(\"Hello Python World!\")\n",
"print(\"Hello Python World!\"\n",
"prin(\"Hello Python World!\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 4.阅读Python微程序"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"#Fl1-2\n",
"s = 99999 * 99999\n",
"print(s)"
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"##### 对此程序简单解读如下:\n",
"(1)s是一个变量,它引用不同数据的值。 \n",
"(2)\tPython语言允许采用大写字母、小写字母、数字、下划线_和汉字等字符及其组合给变量命名,但名字的首字母不能是数字,中间不能出现空格。 \n",
"(3)\tPython语言中,“=”表示赋值运算,左侧变量s引用等号右侧的计算结果,包含赋值运算符(=)的语句称为赋值语句。 \n",
"(4)\tprint函数可以输出字符串,例如\"Hello Python World\",也可以直接输出变量(如s作为变量名)的值。 \n",
"(5)\tPython中不需要加符号表示语句结束,换行表示一条语句的结束。 \n",
"(6)\tFL1-2的程序功能是计算99999*99999并输出结果。 \n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Apr\n"
]
}
],
"source": [
"# Fl1-3\n",
"months=\"MonFebMarAprMayJunJulAugSepOctNovDec\" \n",
"monthAbbrev = months[(4-1)*3:(4-1)*3+3]\n",
"print(monthAbbrev)"
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"##### 对此程序简单解读如下: \n",
"(1)\"JanFebMarAprMayJunJulAugSepOctNovDec\" 是一个字符串常量,一对西文双引号是字符串常量的界定符,一对西文单引号也是字符串常量的界定符。 \n",
"(2)months是字符串变量。可以通过[ ]和下标来访问字符串中的一个或连续多个字符。 \n",
" 一个字符:month[i] ,i表示下标,下标从0开始,month[0]表示第一个字符。 \n",
" 多个字符:month[a:b]表示下标从a到b-1的子串。当n=1时,month[0:3]表示’Jan’ \n",
"(3)FL1-3的程序功能是通过计算从字符串months中读出第4月的月份缩写。\n",
"(4)试将第2句中的4改为1到12的任意整数,观察运行结果。\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Fl1-4\n",
"name=input(\"姓名:\")\n",
"gender=input(\"性别:\")\n",
"if gender==\"男\":\n",
" print(\"{}先生,您好!\".format(name))\n",
"else:\n",
" print(\"{}女士,您好!\".format(name))"
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"对此程序简单解读如下:\n",
"(1)input函数是一个标准输入函数,接受从键盘输入的字符串数据。函数的参数是一个字符串。执行input函数,首先会输出字符串,提示用户要输入的数据是什么,然后等待用户键盘输入数据,按回车键结束。程序开始的两条输入语句分别接受姓名和性别,数据类型为字符串。\n",
"(2)if语句是一条选择语句,根据条件gender==\"男\"为真还是为假,进行不同的处理。\n",
"(3)“==”是关系运算符”等于” ,判断左右两边是否相等,相等为True,不相等为False。注意和赋值运算符“=” 区分。\n",
"(4)Python采用严格的“缩进”(指每一行代码开始前的空白区域)来表明程序的格式框架,即表示代码之间的包含和层次关系。两句print语句缩进表示了所属关系。\n",
"(5)\"{}先生,您好!\".format(name)是格式化的字符串,name变量的值在输出时出现在{}位置。\n",
"(5)FL1-4的功能是输入姓名和性别,根据性别的不同,选择不同的称呼输出问候语。\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Fl1-5\n",
"n=int(input(\"n=\"))\n",
"s=0\n",
"for i in range(n+1):\n",
" s=s+i\n",
"print(\"s=1+2+...{}={}\".format(n,s))"
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"对此程序简单解读如下:\n",
"(1)input函数能够接受一个键盘输入的字符串。int函数将输入的字符串转化整数,例如输入100,第一条语句的功能为从键盘接受一个整数100,赋值给变量n。\n",
"(2)Python通过保留字for实现迭代循环,基本使用方法如下:\n",
" for <循环变量> in <可迭代对象> :\n",
" <语句块>\n",
"(3)range(n+1)函数生成一个0~n的整数序列,变量i遍历取值整数序列0~n中的每一个整数,执行s=s+i,实现将序列中每一个整数累加到s。\n",
"(4)print函数中使用字符串的format方法构造了一个格式输出串,每一个占位槽{}对应一个format函数的一个参数。此处第一个{}对应n的值,第二个{}对应s的值。\n",
"(5)FL1-5的程序功能是输入一个n,累计1到n的所有整数的和并输出。\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Fl1-6\n",
"nums = [12,50,21,56,8,19]\n",
"n=len(nums)\n",
"s=sum(nums)\n",
"average=s/n\n",
"print(\"average=\",average)"
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"对此程序简单解读如下:\n",
"(1)nums是一个列表变量,其中存储了一组整数。\n",
"(2)len和sum是内置函数,len函数求一个序列的长度,可以计算列表、字符串等对象的长度。sum函数是累加和函数,返回列表nums中所有整数的和。\n",
"(3“/”是除法运算符,执行除法运算。\n",
"(4)FL1-6的程序功能是求得一组整数的平均值并输出。\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Fl1-6-1\n",
"def mean(numbers):\n",
" s = 0.0\n",
" for num in numbers:\n",
" s = s + num\n",
" return s / len(numbers)\n",
"\n",
"nums = [0,1,2,3,4,5,6,7,8,9]\n",
"print(mean(nums))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"对此程序简单解读如下:\n",
"(1)nums是一个列表变量,其中存储了一组整数。\n",
"(2)def定义个一个函数mean,函数有一个列表参数numbers,函数实现的功能是求列表numbers的平均值,return语句返回平均值\n",
"(3)mean(nums)是调用函数mean的语句,讲列表nums传递(赋值)给列表参数numbers,函数返回nums的平均值。\n",
"(4)FL1-6的程序功能是求得一组整数的平均值并输出。\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 小试身手 "
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"(1)使用for语句改写下面程序,实现一下输出。\n",
"重要的事情说三遍\n",
"Hello Python World!\n",
"Hello Python World!\n",
"Hello Python World!"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"print(\"重要的事情说三遍\")\n",
"print(\"Hello Python World!\")\n"
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"(2)改写程序Fl1-2,实现求任意两个整数的乘积并输出。\n",
" 要求:增加变量a和b,表示乘法运算的2个操作数,改写乘法的表达式。\n",
" a变量和b变量的值由用户输入,输入两个整数。\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"s = 99999 * 99999\n",
"print(s)"
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"(3)改写程序FL1-3.py,实现输入一个月份,输出对应的英文缩写。"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"months=\"MonFebMarAprMayJunJulAugSepOctNovDec\" \n",
"n = 4\n",
"monthAbbrev = months[(n-1)*3:(n-1)*3+3]\n",
"print(monthAbbrev)"
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"(4)改写程序FL1-3.py,实现顺序输出12月份对应的英文缩写。"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"months=\"MonFebMarAprMayJunJulAugSepOctNovDec\" \n",
"n = 4\n",
"monthAbbrev = months[(n-1)*3:(n-1)*3+3]\n",
"print(monthAbbrev)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.5"
}
},
"nbformat": 4,
"nbformat_minor": 4
}