python中的条件语句

if

语句格式:

if condition:
    success thing
    ...
else:
	falsed thing
	...

例:

设置变量为输入的值,因为输入的值均视为str,所以需要使用int转换,

if判定输入的是否大于15,如果大为真,否则为错

python条件控制语句案例 python条件语录_用户名

if中一个条件多判定

and
条件1 and 条件2
必须两个条件都满足

or
条件1或条件2
满足一个即可

如何判定值是否为空
I = input('')
if not I:	#判定值如果为False
    print('check your input')

如果不输入任何值,就会通过if验证bool值,然后执行操作

python条件控制语句案例 python条件语录_用户名_02

if中多个条件
if 条件1:
	thing
elif 条件2:
	thing
...
else:
	thing

练习
1.从控制台输入要出的拳 —石头(1)/剪刀(2)/布(3)
2.电脑随即出拳–先假定电脑只会出石头,完成整体代码功能
3.比较胜负
石头 胜 剪刀
剪刀 胜 布
布 胜 石头
电脑出拳用随机数判定

import random		#导入随机数

player = int(input('choice:'))

computer = random.randint(1,3)	#设定随机数是1-3
print(computer)

if ((player == 1 and computer == 2) or (player == 2 and computer == 3) or (player == 3 and computer == 1)):
    print("player win")
elif player == computer:
    print('no winner')
else:
    print('computer win')

python条件控制语句案例 python条件语录_python_03


for

python3中的for循环语句格式:

for Item in range(10) #例range的值是10
	code

Item会循环遍历range定的数值,range定义的数值方式
range(stop):stop表示终止的数值,如:range(10) 表示0-9的数值
range(start,stop):start表示开始的数值,stop表示终止的数值,后者必须大于前者,如:range(2,10) 表示2-9之间的数值
range(start,stop,step):step表示取值的间隔,如:range(1,10,2) 表示1-10之间每隔2个数取一次值就是(1,3,5,7,9)

例: 用for计算1-100之间奇数的和

sum = 0

for i in range(1,100,2):
	sum += i	#i值会在range中循环,每次让前一次的和加上新的i值
print(sum)

根据输入的数字进行累乘,如输入3,结果为321

Num = int(input(''))
res = 1

for i in range(1,Num+1):
	res *= i
print(sum)
循环结束关键字

break :跳出整个循环,不会再循环后面的内容
continue :跳出本次循环,continue触发的代码不再执行,但是循环依然继续
exit() :结束程序的运行

例: 设置for循环range(10),判定如果 i == 5 要做什么动作,最后在判定外打印一句话

  • break
  • python条件控制语句案例 python条件语录_用户名_04

  • continue
  • python条件控制语句案例 python条件语录_随机数_05

  • exit
  • python条件控制语句案例 python条件语录_linux_06

练习1: 有1,2,3,4四个数字,
求这四个数字能生成多少个互不相同且无重复数字的三位数(不能含有122,133这种)
首先定义计数器 =0,然后因为是三位数需要嵌套3此循环,并且判定3位数互相不等

count = 0
for i in range(1,5):
    for o in range(1,5):
        for p in range(1,5):
            if (i != o and i != p and o != p):
                print(i * 100 + o * 10 + p)
                count += 1
print('%d' %count)

练习2: 用户登陆程序需求:
1. 输入用户名和密码;
2. 判断用户名和密码是否正确? (name=‘root’, passwd=‘westos’)
3. 为了防止暴力破解, 登陆仅有三次机会, 如果超过三次机会,
报错提示;

for i in range(3):
    name = input('Username:')
    passwd = input('Password:')
    if (name == 'root' and passwd == 'redhat'):
        print('Login')
        break
    else:
        print('Please check Username or Password')
        print('%d chance last' %(2 - i))
else:
    print('Please try later')

练习3: 如何用for循环建立简单的命令行功能

import os		#导入os函数,可以执行linux中的命令

for i in range(1000):
    cmd = input('[root@work python]# ')
    if cmd:
        if cmd == 'exit':
            print('logout')
            break
        else:
            os.system(cmd)		#使用os函数真实运行命令
    else:
        continue

python条件控制语句案例 python条件语录_python_07

while

while 条件:
条件满足时,做的事情1
条件满足时,做的事情2

如何使用while循环重复打印一串字符5次

python条件控制语句案例 python条件语录_python_08


如果需要无线循环某个内容,也可以使用while实现

while True:
	print('hello world')

python条件控制语句案例 python条件语录_随机数_09

练习1:
计算:0~100之间偶数的和

i = 2	#定义计数器
sum = 0	#定义结果

while i <= 100:
    sum += i
    i += 2

print(sum)

python条件控制语句案例 python条件语录_python条件控制语句案例_10

练习2 用户登陆程序需求:

  1. 输入用户名和密码;
  2. 判断用户名和密码是否正确? (name=‘root’, passwd=‘westos’)
  3. 为了防止暴力破解, 登陆仅有三次机会, 如果超过三次机会,报错提示;
count = 0
while count < 3:
    name = input('username:')
    passwd = input('password:')
    if (name == 'root' and passwd == 'redhat'):
        print('login')
        break
    else:
        print('Please check Username or Password')
        print('%d chance last' % (2 - count))
    count += 1
else:
    print('Please try later')

练习3
输出内容如下

*
**
***
****
*****
row = 1		#row表示行
while row <= 5:
    col = 1		#col表示列
    while col <= row:
        print('*',end='')	#end='' 表示结束不换行
        col += 1
    print('')	#打印空为了切换到下一行
    row += 1

然后考虑如何反向输出

*****
****
***
**
*
row = 1
while row <= 5:
    col = 5
    while col >= row:
        print('*',end='')	
        col -= 1
    print('')
    row += 1

练习4:
猜数字游戏
1. 系统随机生成一个1~100的数字;
2. 用户总共有5次猜数字的机会;
3. 如果用户猜测的数字大于系统给出的数字,打印“too big”;
4. 如果用户猜测的数字小于系统给出的数字,打印"too small";
5. 如果用户猜测的数字等于系统给出的数字,打印"恭喜",并且退出循环;

import random

computer = random.randint(1,100)	#给定电脑选择的随机数

i = 0
while i < 5:
    player = int(input('Num:'))
    if player > computer:
        print('too big')
    elif player < computer:
        print('too small')
    else:
        print('congratulation')
        break
    i += 1
else:
    print('try again')