Python入门:从变量到随机抽卡全解析
大家好呀,经过前面两个文章想必大家对python有了极大的兴趣,接下来我们来学习一下最基础的知识,在学习了这篇文章之后,我们就能学会最基础的内容以及简单理解我们平时看到的姻缘匹配器、你加入的幸运数字 以及卡池抽卡规则(第五部分内容)了,一起来学习吧!
一、变量定义部分讲解
name="sun"
hobby="听音乐"
age=18
height=20.0
1.先讲核心概念:什么是变量?
我们可以把变量理解成电脑里一个个带名字的小盒子:
=是赋值符号,作用是把右边的内容装进左边名字的盒子里;- 左边:盒子名字(变量名,这里是 name、hobby、age、height);
- 右边:盒子里存放的真实数据;
- 注意:千万不能写成
sun = name,赋值永远是右边给左边,顺序不能颠倒。
举个例子: name = "sun" = 造一个名叫 name 的盒子,把文字 “sun” 放进去; 后面代码只要写 name,电脑就会自动取出盒子里的 “sun” 使用,这是将sun字符串赋值给name。
二、逐行拆解每一个变量,区分 3 种基础数据类型
1. 字符串类型 str:存放文字、中文、字母
name = "sun"
hobby = "听音乐"
(1)判断特征:内容被双引号 "" / 单引号 '' 包裹,只要带引号,Python 就认定它是字符串;
(2)适用场景:姓名、爱好、地址、一句话、符号、数字文本(比如号码"13800000000"),只要是需要原样展示的文字都用字符串;
(3)细节补充:
①引号成对出现,不能只写一半;
②哪怕引号里写数字 "18",它依旧是文字,不能做加减乘除数学运算;
③双引号和单引号功能完全一样,'听音乐' 和 "听音乐" 没有区别。
2. 整数类型 int:存放完整、不带小数点的数字
age = 18
(1)判断特征:纯数字,没有引号、没有小数点;
(2)适用场景:年龄、人数、页码、次数、编号这类完整整数;
(3)特性:可以直接做数学计算,比如 age + 2 能算出 20;
(4)易错区分:
①18 → 整数,能算数;
②"18" → 字符串,只是文字,不能直接和数字相加。
3. 浮点数类型 float:存放带小数点的小数
height = 20.0
(1)判断特征:数字里包含小数点 .,哪怕小数点后是 0,也属于浮点数; 比如 20 是整数,20.0 就是浮点数,二者类型不一样;
(2)适用场景:身高、体重、价格、温度、小数计算;
(3)特性:同样支持加减乘除运算,计算结果大概率还是小数。
三、配套代码联动:type () 查看变量类型
height=1.80
print(type(height))
我们光靠肉眼判断类型容易出错,Python 提供了 type(变量名) 工具,可以直接查询盒子里数据的真实类型。一般在控制台会给我们输出<class 'float'>,运行打印之后,就能直观区分三种数据,帮我们分清什么时候该转换类型。
四、总结
1.变量 = 命名盒子,= 用来装数据;
2.带引号文字 → str 字符串;
3.无小数点纯数字 → int 整数;
4.带小数点数字 → float 浮点数;
5.不同类型数据不能随意拼接(比如数字不能直接和文字用+连接,后面三种打印方法会解决这个问题)。
五、知识检测(来测一测你学习的如何吧~)
1.如果我写 test = "25",这个变量是什么类型?(答案:字符串)
2.score = 95.5 属于什么类型?(答案:浮点数)
3.能不能写 "小明" = name 把姓名存进去?为什么?
三、三种字符串输出方式(核心重点对比)
1.加号拼接法
name="sun"
hobby="听音乐"
age=18
height=20.0
print(type(height))
print(name+"的爱好是"+hobby+",今年"+str(age)+"岁了")
如上述代码,这是老式拼接法,文字和文字之间可以直接用+连接;但这里 age 是数字,数字和文字不能直接相加,必须用str()把数字强制转换成字符串,代码写起来繁琐,数字一多就要反复转换。
输出结果:
<class 'float'>
sun的爱好是听音乐,今年18岁了
2.逗号分隔打印法
name="sun"
hobby="听音乐"
age=18
height=20.0
print(type(height))
print(name,"的爱好是",hobby,",今年",str(age),"岁了")
如上述代码,这是逗号分隔写法,变量和文字用逗号隔开,打印时会自动在中间加空格;缺点是排版不好控制,同样数字还是需要转字符串,输出的空格会打乱文案格式。
输出结果:(与1有不同,它连接不够连贯)
<class 'float'>
sun 的爱好是 听音乐 ,今年 18 岁了
3.f-string 格式化(推荐最优写法)
name="sun"
hobby="听音乐"
age=18
height=20.0
print(type(height))
print(f"{name}的爱好是{hobby},今年{str(age)}岁了")
如上述代码,这是现在最常用、最简洁的 f-string!只需要在引号前面加字母f,变量直接放在大括号{}里就能嵌入文字,可读性拉满。这里 age 其实不用写str(),f-string 会自动帮我们转换数字类型,简化代码。(自己注意便可,写了也无防)
输出结果:(和1一致)
<class 'float'>
sun的爱好是听音乐,今年18岁了
4.知识检测(来测一测这部分内容的掌握情况吧~)
name = "sun"
hobby = "听音乐"
age = 18
1.使用 + 运算符拼接字符串时,整型变量必须通过内置函数____转换为字符串类型,否则程序报错。
2.f-string 格式化语法要求,字符串左引号前必须添加标识字符____,变量嵌入需包裹于____中。
3.print() 函数多参数用逗号分隔输出时,参数之间会自动填充____作为分隔符。
四、随机幸运数字模块
1.讲解部分
import random
number=random.randint(1,10)
print(f"你今天的幸运数字是:{number}")
我们想要随机生成 1-10 之间的幸运整数,就要使用 Python 自带的random随机库。
(1)知识讲解:
random的英文意思是随机,这个库的作用就是与随机数相关的,例如我们下面讲到的.randint(,)还有以后会讲到的.choice(),我们先来学习.randint(,)
.randint(,):语法:random.randint(最小值, 最大值)
第一个参数 a:随机范围下限(能取到)
第二个参数 b:随机范围上限(能取到)
区别(与range[后续会讲到]):randint 是左右都包含,闭区间 [a, b] 示例 randint(1,10): 程序会随机产出:1、2、3、4、5、6、7、8、9、10,1 和 10 都有概率出现。
(2)操作步骤:
- 第一步必须写
import random导入这个工具包,不导入就无法使用随机功能; randint(最小值,最大值)是生成随机整数的方法,两个参数直接写数字,它会自己加a: b:等,我们在写代码时不能自己加a:、b:,直接写数字就行如图:
- 最后再用 f-string 把随机出来的数字打印出来,每次运行代码都会得到不一样的幸运数字,像抽盲盒一样有趣!
2.知识检测(来测一测这部分内容的学习情况吧~)
1.random.randint(5, 8) 可能出现哪些数字?
答:5、6、7、8(头尾都包含)
2.生成 0~100 的随机整数,代码怎么写?
答:random.randint(0, 100)
3.不写 import random 直接调用 randint 会发生什么?
答:程序报错,提示 random 未定义,找不到这个工具。
五、拓展(幸运数字,抽卡,姻缘匹配器)
看到这里的大家已经掌握了最基础的知识,接下来我来给大家分析一下这几个小游戏的基础逻辑吧:
1.生成某人今日的幸运数字
它是基于random库实现的,虽然它在测的时候让我们输入了姓名、年龄、生日等内容,但是它与那些其实并无关系,仅仅取决与随机数生成了几
2.卡池抽卡(单抽/十连抽)
它也是基于random库实现的,通过建立列表,将内容放入列表中,让我们随机抽取(一次或十次),它主要使用.choice()
3.姻缘匹配器
同样,它最根本的逻辑也是random库,通过生成随机数的范围决定两个人当前的姻缘值,例如1~3,4~5,5~8,8~10
若输出了:9 天赐良缘
六、总结
第五部分只是给大家提供方向,让大家有一定的了解,提高学习的积极性,后续我们会详细出上述每一个小游戏的完整代码以及详细讲解,大家可以期待一下~。
这章内容融合了 Python 最基础的知识点:变量存储、三大基础数据类型、三种字符串输出技巧、random库与随机数生成,是新手入门非常经典的综合小练习,大家课后可以修改姓名、年龄范围,自己动手试试效果!有问题可以再评论留下自己的问题哦~。
附全代码:
name="sun"
hobby="听音乐"
age=18
height=20.0
print(type(height))
print(name+"的爱好是"+hobby+",今年"+str(age)+"岁了")
print(name,"的爱好是",hobby,",今年",str(age),"岁了")
print(f"{name}的爱好是{hobby},今年{str(age)}岁了")
#生成幸运数字
import random
number=random.randint(1,10)
print(f"你今天的幸运数字是:{number}")
更多推荐


所有评论(0)