条件,循环控制语句

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_43999482/article/details/101559290

if语句的运用

if 是一个条件控制语句

在进行条件判断时,如果是条件为正确(True),则输处if后面的代码块,如果条件为(False)这不执行

如下:

a = 1
if(a == True): #这里要注意=为赋值号,==这才是等于号
     print("这个值是有意义的")

E:\anaconda\python.exe F:/python_1/Python2.1.py
这个值是有意义的

a = 0
if(a == True): #这里要注意=为赋值号,==这才是等于号
     print("这个值是有意义的")
E:\anaconda\python.exe F:/python_1/Python2.1.py

input语句的使用

如下:

b = int(input("请输入一个数:"))
c = input("请同样输入一个数")
print(type(b))
print(type(c))


E:\anaconda\python.exe F:/python_1/Python2.1.py
请输入一个数:3
请同样输入一个数3
<class 'int'>
<class 'str'>

通过这一个例子我们可以看出input输入的是一个字符串,但我们可以吧数字的类型进行强制转换

if-else语句的使用

语法:
if(条件表达式):代码块
else:代码块
这个是如果if中的条件表达式为正确(True),则执行if后面的代码,如果为错误(False)则执行else后面的代码块
如下

a = 10
b = 10
c = 20
if(a == b):
    print("a与b相等")
else:
    print("a与b不相等")
if(a==c):
    print("a与c相等")
else:
    print("a与c不相等")



E:\anaconda\python.exe F:/python_1/Python2.1.py
a与b相等
a与c不相等

if-elif-else

语法:
if(条件):代码块
elif(条件):代码块

else:代码块
if-else-else语句的执行,会自动的只上而下的对每一个值进行判断,如果条件为Ture则执行当前的代码块,如果为Flase则继续判断下一个条件是否正确,一个一个判断,如果全为错误则执行else
概况就是这个条件就是只执行一个条件

如下:

a = 10
b = 10
if(a>b):
    print("a大于b")
elif(a<b):
    print("a小于b")
else:
        print("a等于b")


E:\anaconda\python.exe F:/python_1/Python2.1.py
a等于b

while,for语句

while循环是用来判断某种情况,可以是某个数字大于0,或者是用户输入是否合法来执行循环语句,主要用在需要满足一定条件为真,反复执行的情况。
for in循环是用来循环特定数据结构的,比如list,dict,tuple
while 语法
while:(条件表达式)(如果是死循环为True)
代码块
else:
代码块
for i in range
代码块
这里主要简述while
如下:

a = 100
i = 0
sum = 0
while(i<100):
    sum += i
    i+=1
print("sum = ",sum)



sum =  4950
a = ['ajdk','adada','adjmkla']
for i in a:
    print(i)

ajdk
adada
adjmkla

用while去1000以内的水仙花数
ABC= A3 +B3 +C3

x = 100
while(x<1000):
    a = x//100
    b = x//10%10
    c = x%10
    if(x == a**3 + b**3 + c**3):
        print("x = ",x)
    x+=1
else:
    print("循环结束")

x =  153
x =  370
x =  371
x =  407
循环结束



循环的嵌套

while的语法:
while(条件):
代码块
while():
代码块

下面我做一个九九乘法表

扫描二维码关注公众号,回复: 7650429 查看本文章

a = 9
i = 1
while(i<=a):
    j = 1
    while(j<=i):
        print(f'{i}*{j} = {i*j}\t',end = "")#end表示不换行
        j+=1
    i+=1
    print("\n")
else:
    print("九九乘法表输出完毕")





1*1 = 1	

2*1 = 2	2*2 = 4	

3*1 = 3	3*2 = 6	3*3 = 9	

4*1 = 4	4*2 = 8	4*3 = 12	4*4 = 16	

5*1 = 5	5*2 = 10	5*3 = 15	5*4 = 20	5*5 = 25	

6*1 = 6	6*2 = 12	6*3 = 18	6*4 = 24	6*5 = 30	6*6 = 36	

7*1 = 7	7*2 = 14	7*3 = 21	7*4 = 28	7*5 = 35	7*6 = 42	7*7 = 49	

8*1 = 8	8*2 = 16	8*3 = 24	8*4 = 32	8*5 = 40	8*6 = 48	8*7 = 56	8*8 = 64	

9*1 = 9	9*2 = 18	9*3 = 27	9*4 = 36	9*5 = 45	9*6 = 54	9*7 = 63	9*8 = 72	9*9 = 81	

九九乘法表输出完毕
关于while语句中的break,continue

break:是跳出这一次循环,即结束这一次循环
continue:是跳过这一次循环,但不结束循环
如下:我们循环1到10,跳过3当为8是跳出

在这里插入代码片

我们做一个小游戏

要求:一共20个数,允许客户猜测18次,要一次都不对

import random
i = 0
list =[]
j = 0
while(i<=20):
    i += 1
    j += 1
    number_x = int(input("请输入你第%s次猜测的数字(1-20):"%j))
    list.append(number_x)
    if(j==18):
        break
print("猜测次数完毕")
number = random.randint(1,20)
~~while(True):
    if number in list:
        number = random.randint(1,20)
        if number not in list:
            print("正确答案number = ",number)
            break~~ 
这两个可以相互交互
~~while(True):
    if number in list:
        number = random.randint(1,20)
    else:
        print("正确答案number = ",number)
        break~~ 
print("对不起,你猜错了")


请输入你第1次猜测的数字(1-20):1
请输入你第2次猜测的数字(1-20):2
请输入你第3次猜测的数字(1-20):3
请输入你第4次猜测的数字(1-20):4
请输入你第5次猜测的数字(1-20):5
请输入你第6次猜测的数字(1-20):6
请输入你第7次猜测的数字(1-20):7
请输入你第8次猜测的数字(1-20):20
请输入你第9次猜测的数字(1-20):19
请输入你第10次猜测的数字(1-20):18
请输入你第11次猜测的数字(1-20):17
请输入你第12次猜测的数字(1-20):16
请输入你第13次猜测的数字(1-20):15
请输入你第14次猜测的数字(1-20):14
请输入你第15次猜测的数字(1-20):13
请输入你第16次猜测的数字(1-20):11
请输入你第17次猜测的数字(1-20):12
请输入你第18次猜测的数字(1-20):9
猜测次数完毕
正确答案number =  10
对不起,你猜错了

猜你喜欢

转载自blog.csdn.net/weixin_43999482/article/details/101559290