今天讲的是条件判断,循环,以及嵌套语句。
判断语句
和C、Java一样if判断语句,不过else if在Python中变成了elif。if后面的条件如果为True那就执行里面的语句,为False就不执行里面的语句。注意:True不单单代表这个单词,3<4也是True,1 == 1也是True。
条件嵌套的话就是if里面再if,多层判断。现在我们来实现这个函数(懒得画,用表格来表示了)
x | y |
---|---|
<0 | -1 |
=0 | 0 |
>0 | 1 |
number = input("请输入一个数字:")
if number > 0:
print("1")
elif number < 0:
print("-1")
else:
print("0")
对于else,大家要注意这一点
当然,Python中的else功能更多。else还可以单独使用,不一定就是像C和Java那样必须在if和else if配套出现,比如else还可以与for搭配。感兴趣的可以自己尝试一下或者自行百度Google,这里我们就简单提一下。
循环语句
Python里面也有for循环和while循环。
for循环
类似Java里面for-each循环,用一个形参来使用for方法。
# for循环
string = "abcdefg"
length = len(string)
for i in range(0, length, 2):
print(string[i], end='') # 实现每隔一个字符输出string里的字符
while循环
while和if一样,后面的条件每次循环开始前都会判断是否为True,是则执行循环内语句,否则跳过。eg:输出10个1,我们可以写
temp = 0
while temp<10:
print(1)
temp += 1 # temp=temp+1 等同于 temp+=1
# 同理,temp*=10 就是 temp=temp*10
现在我们写一个简单的猜数字程序,一开始设定数字,然后猜数字,嗯,很蠢,后面我们再升级一下
# while循环
num = 50 # 建议num = 49,用二分法猜数字,可以更有感觉= =
while True:
number = int(input("猜一个数字(1到100):"))
if number == num:
print("猜对了!")
break
elif number > num:
print("猜大了!")
print("再猜一下")
else:
print("猜小了!")
print("再猜一下")
print("程序结束!")
while和for循环可以互换
list_1 = "abcd"
for i in list_1:
print(i, end='') # 列表遍历
print() # 输出回车
i = 0
while i < len(list_1):
print(list_1[i], end='') # 列表遍历
i += 1
random模块
现在我们来做一个升级版的猜数字游戏,要猜的数字随机生成,让猜数字程序更加完善。
这里我们简单介绍一下random模块。先说我们这里用到的random模块中的randint方法,用.运算来调用randint方法,括号里面填一个范围,eg:number = random.randint(1,2),那number就只会有1或者2两个值
random模块里还有一些其他的功能,有兴趣的可以自己百度Google一下。我们后面可能的文章可能会详细说。
import random # 导入random模块
num = random.randint(1,100) # 要猜的随机数
n = 0 # 猜的次数
while True: # 死循环,进入程序
number = int(input("请输入1至100的数字:"))
if number > num:
print("猜大了,再猜一次吧!")
elif number < num:
print("猜小了,再猜一次吧!")
else:
print("你只花了{}次就猜对了!真棒!".format(n))
break # 猜对就跳出循环
print("程序结束!")