目录
前言
编辑01学习环境搭建
1.1安装
1.2其他介绍
1.3课后作业
02用python设计一个小游戏
2.1游戏运行
2.2新手会碰到的问题
2.3课后作业
03变量和字符串
3.1变量
3.2字符串
3.3课后作业
04小游戏代码
05改进小游戏
04课后作业
学习python的小白~跟着博主小甲鱼学习日记~
此文仅仅是一个小小的学习记录
为了防止我被小g骂我一定不要再摆烂了呜呜呜!
另外我真的很生气!!!我写了一上午的文章不知道咋没了我真无了大语!!!此刻的我只能用下面这个表情来形容。
安装最新版的python去官网下载安装就好啦
https://www.python.org/downloads/
然后按照教程走下去就ok
本文要用到IDLE(Integrated Development and Learning Environment)即python综合开发工具和学习环境
IDLE有交互模式和编辑器模式
打开IDLE
1.2.1交互模式
1.2.2编辑器模式
点击file然后点击newfile
会出现一个新的窗口
0. Python 是什么类型的语言?
脚本语言(Scripting language)是电脑编程语言,因此也能让开发者藉以编写出让电脑听命行事的程序。以简单的方式快速完成某些复杂的事情通常是创造脚本语言的重要原则,基于这项原则,使得脚本语言通常比 C语言、C++语言 或 Java 之类的系统编程语言要简单容易。
也让脚本语言另有一些属于脚本语言的特性:
一个脚本可以使得本来要用键盘进行的相互式操作自动化。一个Shell脚本主要由原本需要在命令行输入的命令组成,或在一个文本编辑器中,用户可以使用脚本来把一些常用的操作组合成一组串行。主要用来书写这种脚本的语言叫做脚本语言。很多脚本语言实际上已经超过简单的用户命令串行的指令,还可以编写更复杂的程序。
1. IDLE 是什么?
IDLE(Integrated Development and Learning Environment)即python综合开发工具和学习环境
2. print() 的作用是什么?
print() 会在输出窗口中显示一些文本
3. Python 中表示乘法的符号是什么?
*(星号)
4. 为什么 >>>print('I love you ' * 5) 可以正常执行,但 >>>print('I love you ' + 5) 却报错?
在 Python 中不能把两个完全不同的东西加在一起,比如说数字和文本,正是这个原因才会报错。不过乘以一个整数来翻倍就具有一定的意义了。
5. 如果我需要在一个字符串中嵌入一个双引号,正确的做法是?
有两个选择: 1.可以利用反斜杠(\)对双引号转义:\" 2.用单引号引起这个字符串。比如'i l"o"ve you'
7. 动手试试直接输入>>>'i love you' 与输入>>>print('i love you') 有何不同?
直接输入是将结果及类型打印到屏幕上,而print是将结果打印到屏幕上
8.在交互模式中,使用 Python 计算一年有多少秒?
代码如下
"""用Python设计第一个小游戏"""
temp = input("不妨猜一下我现在心里想的是哪个数字:")
guess = int(temp)
if guess == 8:
print("你是我肚子里的蛔虫嘛!")
print("哼,猜中了没有奖励的啦")
else:
print("猜错了,我想的是8!")
print("游戏结束,不玩咯")
将文件保存到桌面为game.py
点击run运行一下
1.标点符号不是全英文(可以改变字体明显观察)
2.缩进是否正确(正确使用:会自动进行正确的缩进)
3.检查函数拼写是否正确(BIF内置函数)
1. 用课堂教的方法数一数 Python3 提供了多少个 BIF?
在python或者IDLE中,输入dir(__builtins__)可以看到python提供的内置函数列表
如果想查看具体函数的功能,比如input,可以输入help(input)
一共有68个内置函数哦
2. 在 Python 看来:'LovE' 和 'love' 一样吗?
不一样,这表示两个不同的名字。
3.Python 中什么是最重要的?
最重要的是缩进。如果在正确的位置输入冒号“:”,IDLE 会自动将下一行缩进!
4. “=”和“==”,他们表示不同的含义,你在编程的过程中会不小心把“==”误写成“=”吗?有没有好的办法可以解决这个问题呢?
C语言的话,如果 if( c == 1 ) 写成 if( c = 1 ),程序就完全不按程序员原本的目的去执行,但在 Python 这里,不好意思,行不通,语法错误!Python 不允许 if 条件中赋值,所以 if c = 1: 会报错!
5. 你听说过“拼接”这个词吗?
在一些编程语言,我们可以将两个字符串“相加”在一起,如:'I' + 'Love' + 'You' 会得到 'ILoveYou',在 Python 里,这种做法叫做拼接字符串。
6.编写程序:hello.py,要求用户输入姓名并打印“你好,姓名!”
7.编写程序:calc.py 要求用户输入1到100之间数字并判断,输入符合要求打印“你妹好漂亮”,不符合要求则打印“你好丑”
temp = input("请输入1到100之间的数字:")
num = int(temp)
if 1<= num <=100:
print('你妹好漂亮')
else:
print('你好丑')
3.1.1 x = 3 (赋值操作)
print(x) (访问变量打印出来)
3.1.2变量通常由字母、数字、下划线组成,不能以数字打头
3.1.3中文字符可以作为变量名
3.1.4变量可以变,取决于最后一次赋值
3.1.5 不同变量的值可以进行传递
3.1.6可以交换两个变量值
3.2.1python使用字符串来表示文本序列
single quotes 使用单引号将文本包含起来
double quotes 使用双引号将文本包含起来
他们都表示字符串没啥差别
3.2.2为什么还要区分单引号双引号包含
无论使用什么,文本两边引号必须成双成对
这个没有成双成对报错啦~
由于文本出现了不可避免的单引号,所以我们使用双引号来表示字符串
这样子就ok的啦~
3.2.3那如果文本既有双引号也有单引号的就要使用转义字符
符号 | 说明 |
\\ | 反斜杠(\) |
\' | 单引号(') |
\" | 双引号(") |
\a | 响铃(BEL) |
\b | 退格符(BS) |
\n |
换行符(LF) |
\t | 水平制表符(TAB) |
\v | 垂直制表符(VT) |
\r |
回车符(CR) |
\f | 换页符(FF) |
\ooo | ooo为八进制数 |
\xhh | hh为十六进制数 |
我们可以对单引号和双引号都转义
这样无论用什么包围都无所谓,转义之后没有特殊含义。
使用\n表示换行
3.2.4原始字符串
我们本意是显示路径,但是python把这些当成了转义字符处理了
解决这个问题我们可使用\转义路径分隔符的反斜杠,对反斜杠本身转义
但是路径很长我们一个一个添加\太麻烦啦,此时就可以使用原始字符串来解决
在字符串第一个引号前加r,说明后面字符串是原始字符串,转义字符不再有效
3.2.5\放在末尾表示还未完成
如果没有\输入换行符会报错
3.2.6长字符串解决上一个问题triple quoted """
前后呼应成双成对
3.2.6字符串的加法和乘法
字符串是文本,字符串相加是拼接
字符串乘以数字是重复
0. 以下哪个变量的命名不正确?为什么?
(A) MM_520 (B) _MM520_ (C) 520_MM (D) _520_MM
C选项不正确。变量不能是数字打头。
1. 在不上机的情况下,以下代码你能猜到屏幕会打印什么内容吗?
>>>myteacher = 'dyh'
>>>yourteacher =myteacher
>>>yourteacher = 'gyp'
>>>print(myteacher)
打印:dyh
2. 在不上机的情况下,以下代码你能猜到屏幕会打印什么内容吗?
>>> myteacher = 'dyh'
>>> yourteacher = myteacher
>>> myteacher = 'gyp'
>>> print(yourteacher)
会打印:dyh
3. 在不上机的情况下,以下代码你能猜到屏幕会打印什么内容吗?
>>>first = 520
>>>second = '520'
>>>first = second
>>>print(first)
会打印:520
这里没有单引号括起来,但是他是字符串,因为用print()打印,所以不包含单引号。
4. 除了使用反斜杠(\)进行字符转义,还有什么方法可以打印:Let's go! 这个字符串?
"let's go!"
5.内置函数不要进行赋值操作
6.还记得我们第一讲的动动手的题目吗?这一次要求使用变量,计算一年有多少秒?
提示:可以以 DaysPerYear(每年天数),HoursPerDay(每天小时数),MinutesPerHour(每小时分钟数),SecondsPerMinute(每分钟秒数)为变量名。
DaysPerYear = 365
HoursPerDay = 24
MinutesPerHour = 60
SecondsPerMinute = 60
result = DaysPerYear*HoursPerDay*MinutesPerHour*SecondsPerMinute
print(result)
4.1input用于接收用户的输入并且返回
用户输入什么temp就是什么
4.2int()函数可以将字符串转化为整数
4.3 条件分支语句 if else
4.4比较运算符
小游戏太简陋了我们需要改进以下几点:
1.当用户猜错的时候,程序应该给出提示
嵌套
2.应该提供多次机会给用户
循环结构while
如果正确则一直执行循环体内内容
我们可以设置变量减少循环次数
改进游戏加上循环给3次机会
但是如果答案正确它还会一直循环不会结束
就需要改一下缩进
但是人家第一次输对了不让退出还要继续输入是不妥的继续改进~
break语句 跳出一层循环体
3.每次运行程序答案应该是随机的
random可以实现随机数
import random表示导入random模块
random.randint(a,b)获取a到b内的随机参数
改进小游戏
肯定是7哦
random生成的随机数可以被重现。如果要实现对伪随机数的攻击,我们就要拿到它的种子。
random使用当前操作系统时间来作为种子。
random.getstate()这个函数来获取随机数加工之后随机数生成器的内部状态。
随机数重现了
0. 请写出与 10 < cost < 50 等价的表达式
(10 < cost) and (cost < 50)
1. Python3 中,一行可以书写多个语句吗?
可以,语句之间用分号隔开即可,不妨试试:
>>> print('I love you');print('very much!')
今天就先这样子吧~