python初学习2


前言

这里是初学习的第二篇,马上就要开学了,尽管开学之后因为课程问题可能没那么多时间继续学习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缩进下的内容
用一张图来理解嵌套
在这里插入图片描述

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值