1Python中的判断语句的基本格式
if 判断条件1:
执行语句1
elif 判断条件2:
执行语句2
else:
执行语句3
这是基本的条件判断语句格式,和C语言中的条件判断语句还是有很多区别的。
2.条件判断语句的代码:
2.1.最简单的:
if 1:
print("Ture")
else:
print("False")
这里我们运行便可得到输出结果为Ture,默认为正确的。这里我们注意到我们的执行语句前面有一定的缩进,在这里我们不能忽略这一部分。如果我们把上下两个执行语句的缩进进行修改,代码如下:
if 1:
print("Ture")
else:
print("False")
这里执行语句1的缩进调为两个,通过运行我们发现并没有影响程序的运行。我们在一个判断条件下输入两条执行语句并且两条执行语句缩进不同,代码如下:
if 1:
print("Ture")
print("222")
else:
print("False")
这里我们发现报错了,上面的代码是无法运转的。通过比较我们知道同一判断语句下的几个执行语句缩进必须相同,为了避免错误,我们最好保持所有的执行语句缩进都相同。
2.2.运用条件判断语句判断考试成绩等级
首先我们规定90-100为A,80-89B,70-79为C,60-69为D,其他的为不及格。运用条件判断语句设计简单的成绩等级判断的python代码。输入的成绩为1-100,并且成绩通过键盘输入。
score = int(input("请输入你的成绩:"))
if score >= 90 and score <=100 :
print("你的等级为A")
elif score >= 80 and score <=89 :
print("你的等级为B")
elif score >= 70 and score <=79 :
print("你的等级为C")
elif score >= 60 and score <=69 :
print("你的等级为D")
else:
print("不及格")
通过输入完成成绩判断,这里我们要注意输入的变量是str类,我们需要强制转换为int类,才能用其输入的成绩与数字进行比较。
2.3.条件判断的嵌套
我们继上面的成绩等级判断,并在其中加入一些条件。在80分以上的同学中挑选选择成绩大于20的同学。如果选择大于20形成新的成绩A+,小于为A-,等于20则为A。这样便可完成简单的嵌套。代码为:
score = int(input("请输入你的成绩:"))
ch = int(input("请输入你的选择题分数:"))
if score >= 90 and score <=100 :
print("你的成绩高于80")
if ch>20 :
print("你的成绩为A+")
elif ch==20 :
print("你的成绩为A")
else :
print("你的成绩为A-")
elif score >= 80 and score <=89 :
print("你的成绩高于80")
if ch > 20:
print("你的成绩为A+")
elif ch == 20:
print("你的成绩为A")
else:
print("你的成绩为A-")
elif score >= 70 and score <=79 :
print("你的等级为C")
elif score >= 60 and score <=69 :
print("你的等级为D")
else:
print("不及格")
同样的我们仍要注意判断语句和执行语句对应的缩进格数,以保证代码的正确性。
2.4.拓展,引入随机数库的调用以及如何生成随机数
这里我们便需要调用随机数库:import random
生成随机数代码如下:
import random
x = random.randint(0,100)
print(x)
我们利用x = random.randint(0,100)生成了0-100的随机数,通过运行我们发现每次运行x的值都在变化。
利用随机数我们可以设计一个简单的小游戏,石头剪刀布,石头(0),剪刀(1),布(2)。通过在键盘输入0-2的数来与随机数进行比较决定游戏胜负。这里我们还要注意判断输入数是否为0-2的数。代码如下:
import random
x = random.randint(0,2)
y = int(input("请输入你的数字:"))
print("电脑输出数字为:%d" %x)
if 0 > y > 2:
print("你输入的数字不在0-2,违反游戏规则")
else :
if y == 0:
if x == 0:
print("平局")
elif x == 1:
print("胜利")
elif x ==2:
print("你输了")
elif y == 1:
if x == 0:
print("你输了")
elif x == 1:
print("平局")
elif x ==2:
print("胜利")
elif y == 2:
if x == 0:
print("胜利")
elif x == 1:
print("你输了")
elif x ==2:
print("平局")
3. 字符串
1.字符串属于Python中的核心数据类型。Python中的字符串有多种形式。
2.单引号,双引号,三引号(这里表示的是三个单引号或者是三个双引号),使用\转义特殊字符。
[Python3源码文件默认以UTF-8编码,所有字符串都是unicode字符串]
3.字符串可以拼接,截取等多种运算。
例如:a=“hello”
b=“world”
print(a+b)
输出结果为:helloworld
print(a[1:4])
输出结果为:ell
3.1.各种情况下字符串
a = '字符串'
b = "字符串2"
c = """
字符串3
字符串4
"""
print(a)
print(b)
print(c)
输出结果为:
字符串
字符串2
字符串3
字符串4
我们看到在三引号内我能可以输入多段内容。那么单引号和双引号有什么区别嘛,在一般大多数情况下是没有多大区别的。
3.2单引号和双引号,以及转义字符的使用。
1.现在有一段字符串I’m a boy.这里我们看到这一段字符串里面已经有一个单引号的一部分了。那么如果我们子啊字符串两侧分别用单引号和双引号有什么区别呢。代码如下:
a = '字符串'
b = "字符串2"
c = """
字符串3
字符串4
"""
print(a)
print(b)
print(c)
e = "i'm a boy. "
d = 'i'm a boy.'
我们看到再次0+使用单引号时便出现了报错。单引号和字符串里面的引号重复,出现了矛盾。而双引号完全没有收到报错。那么我们怎么样才能避免这种错误呢,这里便需要我们的转义字符了。在需要转义的字符前面加:I’m a boy.这样便可以避免矛盾报错。
2.同样的如过有这样一段字符。Daming said "I’m a boy."这样一段字符里面已经含有了单引号和双引号
同样的代码如下:
f = "Daming said "I'm a boy.""
g ='Daming said "I'm a boy."'
这里我们发现不使用转义字符,无论是单引号还是双引号括起来都会报错,所以我们应该在矛盾的地方加入转义字符,让字符串里面的单引号或双引号避免与最外面的单引号或双引号产生矛盾。如下代码:
f = "Daming said \"I'm a boy.\""
g ='Daming said "I\'m a boy."'
print(f)
print(g)
3.3字符串的截取
1.情况一示例:print(str[0:3])
如代码:
# 字符串的截取
h = "abcdefg"
print(h[0:3])
输出结果为:abc
这里[0:3],里面的值0代表起始截取位置(包含此位置),3代表结束位置(不包含此位置)
2.情况二示例:print(i[0:6:2])
如代码:
i = "abcdefghijkl"
print(i[0:6:2])
输出结果为:ace
这里[0:6:2],里面的值0代表起始截取位置(包含此位置),6代表结束位置(不包含此位置),2代表每次步进值。
3.情况三示例:print(j[:3])
print(j[3:])
如代码:
j = "abcdefghijkl"
print(j[:3])
print(j[3:])
输出结果为:abc
defghijkl
[:3]表示从零开始,到3结束。[3:]表示从3开始一直截取到最后,包括最后的元素。
3.4多次打印和转义取消
1.多次打印
l = "abc"
print(l * 3)
多次打印我们只需要在字符串后面乘上你想打印的次数便可实现。
2.转义取消
我们需要打印某些转义字符,不让它进行解释时便需要转义字符。
print(r"hello\nworld")
我们注意到hello\nworld中的\n是转义字符,通常情况是换行。但是我们在字符串外写了一个 r ,这个r后引号内不在进行转义字符的解释,会直接输出字符。