Python中的语句用法(if/for/while)

1.if语句

1.1 if语句+else

if condition:
      success thing
      

在这里插入图片描述
在这里插入图片描述
If语句+else

if condition:
      success thing
else:
      faile thing

在这里插入图片描述
在这里插入图片描述


1.2 if语句+条件关系(and/or/not)

condition1 and/or condition2
True    False

and: 条件全部需要满足
在这里插入图片描述


or:条件至少需要满足其中一个
在这里插入图片描述


not:条件不满足时
注意:if语句后判断的是bool值
在这里插入图片描述

value = input('value:')
if not value:
    print('Please check you input')

在这里插入图片描述


1.3 if语句+多个条件

条件并列

if c1:
    thing
elif c2:
    thing
...
else:
    thing

条件嵌套

if c1:
    thing
        if c2
           ...
        else:
else:
have_ticket = True
knife_length = 22

if have_ticket:
    if knife_length > 20:
        print('length:%d ;too long,not permitted!' %knife_length)
    else:
        print('length: %d;acceptabled long,come in' %knife_length)
else:
    print('Please buy ticket')

在这里插入图片描述
在这里插入图片描述


1.3 if语句+随机数random

random.randint(a,b),返回[a b]之间的整数,包含a和b
在python中,要使用随机数,首先需要导入随即数模块 ‘工具包’,导入模块后,可以直接在模块名称后面敲一个.(点)然后Tab键,会提示该模块中包含的所有函数
在这里插入图片描述
eg:
random.randint(12,20):生成随机数n: 12 <= n <= 20
random.randint(20,20): 结果永远是20
random.randint(20,12):结果会报错:下限必须小于上限

注意:在导入工具包的时候,应该将导入的语句,放在文件的顶部
因为,这样可以方便下方的代码,在任何需要的时候,使用工具包中的工具

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

import random##导入随机数

player = int(input('Your choice:'))##player的输入,注意整型才能比大小

computer = random.randint(1,3)##电脑给出的随机数
print('computer\'s choice:%d' %computer)

if(player == 1 and computer == 2) or (player == 2 and computer == 3)or (player == 3 and computer == 1):
    print('player wins')
elif player == computer:
    print('try again,no winer')
else:
    print ('computer wins')

在这里插入图片描述


2.for循环语句

2.1 for+range

for ITEM in range(10):
    code
range示例说明
range(stop)0 ~ stop-1
range(5)[0, 1, 2, 3, 4]
range(10)[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
range(start,stop)start ~ stop-1
range(1,10)[1, 2, 3, 4, 5, 6, 7, 8, 9]
range(1,11)[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
range(start,stop,step)start ~ stop
range(1,11,2)[1, 3, 5, 7, 9]
range(2,11,2)[2, 4, 6, 8, 10]

注意:range含下线,不含上线
在这里插入图片描述


练习:1到100之间的偶数求和

sum = 0
for I in range(2,101,2):
    sum += I
print(sum)

在这里插入图片描述


练习:1到100之间的奇数求和

sum = 0
for I in range(1,101,2):
    sum += I
print(sum)

在这里插入图片描述


练习:输入一个数,求它的阶乘

num = int(input('Number:')) ##为了计算需要转换数据类型
res = 1  ##定义累乘器

for I in range(1,num+1):
    res *= I
print(res)

在这里插入图片描述


2.2 for循环+break/continue/exit

continue跳出本次循环,继续下次循环
break跳出整个循环,并在循环,会继续其他任务
exit()跳出程序
for I in range(6):
    if I == 4:
        continue/break/exit()
        print('hello python')
    print(I)
print('hello world')

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


练习:有1,2,3,4四个数字,求这四个数字能生成多少个互不相同且无重复数字的三位数(不能含有122,133这种)

count = 0 ##定义计数器

for i in range(1,5):
    for j in range(1,5):
        for k in range(1,5):
            if (i != j) and (j != k) and (k != i):
                print(i * 100 + j * 10 + k)
                count +=1
print('The count is: %d' %count)

在这里插入图片描述


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

for I in range(3):

    name = input('Username:')##条件需要放入循环中,否则只能循环一次
    passwd = input('Password:')
    
    if name == 'root' and passwd == 'test':
        print('Login success')
        break##验证成功后需要跳出循环
    else:
        print('Login failed')
        print('%d chance last' %(2-I))
else:
    print('please try later' )##三次不成功

在这里插入图片描述
在这里插入图片描述在这里插入图片描述


2.3 for循环实现命令行效果

在这里插入图片描述

import os ##导入os(python管理Linux的模块)
for i in range(1000):
    cmd = input('[red@workstation test]$')
    if cmd: ##如果有值
        if cmd == 'exit':
            print('Logout')
            break ##跳出本次循环
        else:
            print('run %s' %cmd)
            os.system(cmd) ##打印linux中的命令
    else:
        continue 

在这里插入图片描述
在这里插入图片描述


练习:输入两个数值,求两个数的最大公约数和最小公倍数.
最小公倍数=(num1*num2)/最大公约数


3.while语句

python中的计数方法,常见的计数方法有两种,可以分为:
自然计数法(从1开始) – 更符合人类的习惯
程序计数法(从0开始) – 几乎所有的程序语言都选择从0开始计数
因此,大家在编写程序时,应该尽量养成习惯:除非需求的特殊要求,否则>循环的计数从0开始

循环计算
在程序开发中,通常会遇到利用循环重复计算的需求(利用CPU的强大之处 完成相应的复杂计算)
遇到这种情况:
1.在while上方定义一个变量,用于存放最终的计算结果
2.在循环体内部,每次循环都用最新的计算结果,更新之前定义的变量

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

在这里插入图片描述


死循环:

while True: 
    print('hello python')

3.1 while的练习

练习:0~100之间所有数字的累积求和

i = 0 ##定义计数器
res = 0 ##定义累加器

while i <= 100:
    res += i
    i += 1
print('The result is %d' %res)

在这里插入图片描述


练习:0~100之间所有“偶数”的累积求和

i = 0
res = 0
while i <= 100:
    if i%2 == 0:
        res += i
    i += 1
print('The result is %d' %res)

在这里插入图片描述


练习:0~100之间所有“奇数”的累积求和

i = 0
res = 0
while i <= 100:
    if i%2 == 1:
        res += i
    i += 1
print('The result is %d' %res)

在这里插入图片描述


练习:用户登陆程序需求

    1. 输入用户名和密码;
    2. 判断用户名和密码是否正确? (name='root', passwd='test')
    3. 为了防止暴力破解, 登陆仅有三次机会, 如果超过三次机会,报错提示;
trycount = 0 ##定义计数器
while trycount < 3:
    name = input('Username:')
    passwd = input('Password:')
    if name == 'root' and passwd == 'test':
        print('Login successful')
        break
    else:
        print('Login failed')
        print('%d chance last' %(2-trycount))
        trycount += 1
else:
    print('Please try later.')

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


练习:要求输出如下:(正右三角形)

*
**
***
****
*****
row = 1 #定义计数器(行)

while row <= 5:
    column = 1 #定义计数器(列),每次循环后重新定义计数器为1
    while column <= row:
        print('*',end='')
        column += 1
    print('')
    row += 1

在这里插入图片描述


练习:要求输出倒右三角形

row = 1

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

在这里插入图片描述


练习:输出图形正左三角形

row = 5
i=1
while i <= row:###空格的数量
    j = 1
    while j < 6-i: 
        print(" ", end='')
        j += 1
    k = 1 
    while k < i + 1: ###*的数量
        print("*", end='')
        k += 1
    print("")
    i+=1

在这里插入图片描述
在这里插入图片描述


练习:输出倒左三角形

row = 5
i=1
while i <= row:
    j = 1
    while j < i:
        print(" ", end='')
        j += 1
    k = 1
    while k <= row+1-i :
        print("*", end='')
        k += 1
    print('')
    i+=1

在这里插入图片描述
在这里插入图片描述


练习:输出九九乘法表

num1 = 1
while num1 <= 9:
    num2 = 1
    while num2 <= num1:
        print(num2 ,'*', num1,'=',num1*num2,end=' ' )
        num2 += 1
    print('')
    num1 += 1

在这里插入图片描述
在这里插入图片描述


练习:猜数字游戏

  1. 系统随机生成一个1~100的数字;
  2. 用户总共有5次猜数字的机会;
  3. 如果用户猜测的数字大于系统给出的数字,打印“too big”;
  4. 如果用户猜测的数字小于系统给出的数字,打印"too small";
  5. 如果用户猜测的数字等于系统给出的数字,打印"恭喜",并且退出
import random
trycount = 0
computer = random.randint(1,100)
while trycount < 5:
    player = int(input('Number:'))
    if player > computer:
        print('too big')
        trycount += 1
    elif player < computer:
        print('too small')
        trycount += 1
    else:
        print('Congratulation!')
        break
print('The number is %d' %computer)

在这里插入图片描述
在这里插入图片描述


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值