欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python初学习2

程序员文章站 2022-05-04 10:58:19
python初学习2前言一、学到的知识1.条件判断a.单项判断b.双向判断多向判断2.if嵌套前言这里是初学习的第二篇,马上就要开学了,开学之后因为课程问题可能没那么多时间继续学习python,但是我还是会抽出一些时间来学习,加油吧一、学到的知识1.条件判断a.单项判断单项判断最基本的就是if。用复仇者联盟中的六颗宝石举例,如果我有六颗宝石我就可以毁灭世界代码如下:stone=6if stone>=6:print('你可以毁灭世界')这是最简单的if用法,需要注意的是...


前言

这里是初学习的第二篇,马上就要开学了,尽管开学之后因为课程问题可能没那么多时间继续学习python,但是我依然会想办法抽出空闲时间学习还有分享。


一、学到的知识

1.条件判断

a.单项判断

单项判断最基本的就是if。用复仇者联盟中的六颗宝石举例,如果我有六颗宝石我就可以毁灭世界

代码如下:

stone=6
if stone>=6:
	print('你可以毁灭世界')

这是最简单的if用法,需要注意的是 if 接上判断语句之后用‘ : ’来引出满足判断条件后的执行结果,并且需要缩进。那么缩进是什么意思呢?
对于Python而言,冒号和缩进是一种语法。它会帮助Python区分代码之间的层次,理解条件执行的逻辑及先后顺序。如果赋值满足if条件,计算机就会准确执行if条件内部的命令(即缩进的代码块)。在python中一个缩进可以理解为按一下tab或者空格四次。
需要注意,如果不缩进,就会有语法错误。
如下例

stone=6
if stone>=6:
print('你可以毁灭世界')

如果这样进行编写就会报错,去掉缩进后,if条件和print命令成为了两个不同的代码组,属于平行关系。
无论条件成不成立,都不会执行什么操作,这个条件的存在没有任何意义。

b.双向判断

双向判断也就是if else 举个例子
如果有六颗宝石可以毁灭世界,不够六颗就去继续收集
代码如下

stone=6
if stone>=6:
	print('你可以毁灭世界')
else:
	print('继续收集宝石')	

在if…else条件语句中,if和else各自抱团,形成两个不同的代码块。表示的是条件和其他条件的互斥关系——如果不满足if条件,就执行else其他条件。

多向判断

python中,多向判断可以用if ···elif ···else
如果继续用宝石的例子,如果宝石大于6,如果宝石大于0小于等于5,如果小于0,这样的情况该怎么写呢?
代码如下

stone=6
if stone=6:
	print('你已经拥有毁灭世界的力量')
elif 0<stone<=5:
	print('你需要继续收集宝石')	
else:
	print('你一颗宝石没有,你是个普通人')

第一行的赋值,会按照从上到下的顺序挨个试一遍,看自己满足哪个条件,满足了就不往下走,不满足就继续试,试到出结果为止。
其次,elif的运行本质上和else一样,已经带有其他条件的意思,所以elif后可以不接else。
比如上面的代码,stone=5会对下面的if elif else条件逐个扫描,看看自己满足哪一个,就执行哪个条件底下的命令。

2.if嵌套

if嵌套就是指,在已经有的if条件下在内部在写一个if条件,就比如下面这个例子:

  1. 如果成绩大于等于60分,就是及格,在此前提下:
    (1)如果成绩大于等于80分,属于优秀范围;
    (2)否则(即大于等于60分而小于80分),属于一般范围。

  2. 如果成绩小于60分,就是不及格,在此前提下:
    (1)如果成绩小于30分,平时太不认真,属于学渣了;
    (2)如果成绩(小于60分而大于等于30分),那么,至少还能抢救一下。
    那么对于这样的嵌套if应该怎么写呢?
    先上代码

score=26
if score>=60:
	print('你已经及格')
	if score>=80:
		print('你很优秀')
	elseprint('你只是一般般')
else:
	print('不及格')		
	if score<30:
		print('学渣')
	else:
		print('还能抢救一下')

这种嵌套命令该如何理解呢?
缩进相同的命令处于同一个等级,第一步,计算机就要按顺序一条一条地执行命令。
那么,计算机执行的顺序就是:
(1)先给score赋值;
(2)因为if和else是只能留一个的互斥关系,if和else下的代码块只会执行一个,所以计算机要判断赋值的内容满足【score>=60】还是【score<60】的条件——如果满足if的条件,就执行if缩进下的内容,如果不满足就执行else缩进下的内容
用一张图来理解嵌套
python初学习2

3.input函数

在上面的例子中我们都是直接在代码中输入了所要判断的变量数值,就比如宝石数stone,成绩score
那么可不可以不在代码中输入,而是运行代码之后输入我想要的数值呢?
当然可以,这就需要用到input函数。
用键盘向电脑提供指令,再通过电脑把问题显示在显示器上,等待回答的过程就是通过input函数实现的。
那么是不是只要用直接用input就可以直接实现这种人机互动了呢,当然不行,input也是需要有使用方法的。

a.input函数的使用

其实他的使用很简单,就是直接在input中输入你互动的东西就可以
代码如下

input('请输入你的分数:')
运行结果
请输入你的分数:
#你就可以直接在冒号后面输入分数了

总结一下,input函数使用来收集信息的,并且一定要在运行终端输入。

b.input函数的赋值

赋值逻辑,在input()函数中也是行得通的。我们也可以通过赋值,达到随时提取输入结果的目的。
代码如下

name = input('输入你的分数')

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

name = input('输入你的分数')
print('name')

运行结果
输入你的分数  #先出现这个然后输入你的分数     比如80然后回车

输入你的分数80
80  #这就是最终的样子

函数好用,赋值第一。如果仅仅只是input什么都做不到,一定要给input赋值才能进行接着的操作
他的操作流程就是
1.函数结果赋值给变量
2.使用函数收集信息
3.输出结果
还是用成绩做例子

score = input('输入你的成绩')
if score>=60:
	print('及格')
else:
	print('不及格')
这个和最基本的双向判断是一样的,唯一的区别就是我们不用在代码中提前定好score的数值
而是直接运行后通过手动输入收集结果然后进行判断

c.input函数的数据类型

对于input()函数来说,不管我们输入的回答是什么,不管你输入的是整数1234,还是字符串,input()函数的输入值(搜集到的回答),永远会被【强制性】地转换为【字符串】类型。
只是这么描述还是很难理解他们的区别,还是用一串代码解释

choice = input('输入选择1or 0')
if choice == 1:
	print('你选择1')

如果按以上会发生什么情况呢?
会报错,因为input会强制把输入的1变成字符串,而判断语句中的choice却是整数1,所以类型不一样,判断也就会失败。所以如果想要上述判断成功,就需要把if后面的改为 choice == '1’这样if的判断也是字符串就不会出现问题。
那么如果总是这样非常麻烦,有没有什么办法可以改变input的强制转换呢?

d.input函数的强制转换

按照上面分数的例子,那么强制转换整数的函数就是int()
int()强制类型转换,可以将字符串强制性地转换为整数。有了int()函数,我们就可以从input()函数的源头,将输入的内容转换为整数。
代码如下

choice = int(input('输入你的分数'))

这串代码看起来像是把input()函数整个强制转换了。可实际上,我们是将input()函数取得的结果,进行强制转换,并将强制转换的结果赋值存在名为choice的变量里。
类似的我们就可以用float()来转换浮点数


总结

这些就是python最基础的一些语法知识了,离开学还有一周,所以还是可以继续学习一些东西,下一篇我打算把这两天做的几个基础语法的练习题整理一下。希望开学以后我依然可以抽出空余时间继续学习继续努力。写博文的初衷就是督促自己,并且整理自己所学到的知识,希望我可以继续坚持下去,加油!

本文地址:https://blog.csdn.net/weixin_55376263/article/details/113973495

相关标签: python学习 python