Python下的if条件判断及for循环,while循环(这里的解释器为python3.6)

一.Python下的if条件判断

1.Python下if条件判断的语法格式

<1>单条件

if   条件判断:

       条件满足时执行的语句体

<2>双条件

if   条件判断:

       条件满足时执行的语句体

else:

      if条件不满足时执行的语句体

<3>多条件

if   条件判断:

       语句体1

elif   条件判断:

       语句体2

elif   条件判断:

      语句体3

     .......

else:

      if条件不满足时执行的语句体

else和elif都必须与if联合使用,不能单独使用

2.if条件判断的条件判断运算符,逻辑运算符与特殊的真假

<1>运算符

==(等于);!=(不等于);<>(不等于)——>仅适用于python2的版本;>(大于);<(小于);>=(大于等于);<=(小于等于)

<2>逻辑运算符

and(并且);or(或者);not(非)

<3>特殊的真假

真和假
0
非0
""或''
None
[]
()
{}

3.if条件判断的练习

<1>练习一:

1.从控制台输入你要出的拳 ---石头(1)/剪刀(2)/布(3)
2.电脑随即出拳
3.比较胜负

import random
var=int(input('出拳的选项为1(石头),2(剪刀),3(布).请输入你要出的拳:'))
computer=random.randint (1,3)
print('电脑出的拳为:%d' %computer)
print('选手出的拳为:%d' %var)
if var==computer:
    print('平局')
elif (var==1 and computer==2) or (var==3 and computer==1) or (var==2 and computer==3):
    print('玩家获胜')
else:
    print('电脑获胜')

<2>练习二:

判断闰年
用户输入年份,判断是否为闰年?
- 能被400整除的是闰年,能被4整除但是不能被100整除的是闰年

year = int(input('请输入年份:'))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
    print('%s是闰年' %year)
else:
    print('%s不是闰年' %year)

<3>练习三:

1.输入年、月,输出本月有多少天
2004 2
29天
2010 4
30天

year=int(input('请输入年份:'))
month=int(input('请输入月份:'))
if month==2:
    if (year%400==0) or (year%4==0 and year%100!=0):
        print('%s年的%s月的天数为:29天' %(year,month))
    else:
        print('%s年的%s月的天数为:28天' %(year,month))
elif month==1 or month==3 or month==5 or month==7 or month==8 or month==10 or month==12:
    print('%s年的%s月的天数为:31天' %(year,month))
else:
    print('%s年的%s月的天数为:30天' %(year,month))

<4>练习四:

用if判断输入的值是否为空,如果为空,报错Error

num=input('请输入值:')
if not num:
    print("error")

<5>练习五:

用户输入月份,打印该月份所属的季节
3,4,5春季  6,7,8夏季  9,10,11秋季 12 1 2冬季

month=int(input('请输入月份(1-12):'))
if month==3 or month==4 or month ==5:
    print('%s月对应的季节是春季' %month)
elif month==6 or month==7 or month ==8:
    print('%s月对应的季节是夏季' %month)
elif month==9 or month==10 or month ==11:
    print('%s月对应的季节是秋季' %month)
elif month==12 or month==1 or month ==2:
    print('%s月对应的季节是冬季' %month)

二.Python下的for循环

1.Python下for循环的语法格式

for   临时变量  in   字符串/range得到的列表/列表/元组/set集合/字典:

       循环满足条件时执行的代码

esle:

       循环不满足条件时执行的代码

值的注意的是:

  1. else可以不写,也可以写为pass(什么都不做)
  2. range的格式:range(起始值,终止值,步长)——>其中range包头不包尾(例如range(10)表示0~9);起始值,步长可以损裂。起始值损裂时,默认起始值为0,步长损裂时,默认为1。

2.for循环的练习

<1>练习一:

有1,2,3,4四个数字
求这四个数字能生成多少个互不相同且无重复数字的三位数

sum=0
for i in range(1,5):
    for j in range(1,5):
        for k in range(1,5):
            if k!=i and k!=j and i!=j:
                num=i*100+j*10+k
                print(num)
                sum+=1
print('一共有%s个' %sum)

<2>练习二:

用户登录需求:
    1.输入用户名和密码;
    2.判断用户名和密码是否正确(name='root',passwd='westos')
    3.登录仅有三次机会,超过3次会报错

for i in range(3):
    name = input('请输入用户名:')
    passwd = input('请输入密码:')
    if name=='root' and passwd=='westos':
        print('登陆成功')
        break
    else:
        print('第%s次登陆失败,还有%s次机会' %(i+1,2-i))

else:
    print('登陆次数超过三次,请稍后重试')

<3>练习三:

用代码模拟命令行

import os


while True:
    cmd = input('[kiosk@foundation41 xin]$ ')
    if not cmd:
        print(cmd,end='')
    elif cmd=='exit':
        exit()
    else:
        os.system(cmd)

<4>练习四:

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

num1=int(input('请输入参与运算的第一个数字:'))
num2=int(input('请输入参与运算的第二个数字:'))
min=int(min(num1,num2))
for i in range(min,0,-1):
    if num1%i==0 and num2%i==0:
        gys=i
        print('%s和%s的最大公约数是%s' %(num1,num2,gys))
        gbs = num1 * num2 / gys
        print('%s和%s的最小公倍数为%d' % (num1, num2, gbs))
        break

三.Python下的while循环

1.Python下while循环的语法格式

初始化语句

while  判断条件语句:

        条件满足时,做的事情1

        条件满足时,做的事情2

           ........

        控制条件语句

else:

      条件不满足时,做的事情

或者死循环:

while   True:

        条件满足时,做的事情1

       条件满足时,做的事情2

       ......

值的注意的:else可以不写,也可以后面写pass(什么都不做)

2.while循环的练习

<1>练习一:

在控制台连续输出五行*,每一行星号数量一次递增
*
**
***
****
*****

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

<2>练习二:

*****
****
***
**
*

i=1
while i<=5:
    j=1
    while j<=6-i and j>0:
        print('* ',end='')
        j+=1
    print('')
    i+=1

<3>练习三:

     *
    **
   ***
  ****
 *****

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

<4>练习四:

*****
 ****
  ***
   **
    *

i=1
while i<=5:
    j=1
    k=1
    while k<=i-1:
        print(' \t',end='')
        k+=1
    while j<=6-i:
        print('*\t',end='')
        j+=1
    print('')
    i+=1

<5>~<8>打印99乘法表,打印出来的格式同上面<1>~<4>

<5>练习五:

i=1
while i<10:
    j=1
    while j<=i:
        result=j*i
        print('%d*%d=%d\t' %(i,j,result),end='')
        j+=1
    print('')
    i+=1

<6>练习六:

i=1
while i<=9:
    j = 1
    while j<=10-i :
        result=(10-i)*j
        print('%d*%d=%  d\t' %(10-i,j,result),end='')
        j+=1
    print('')
    i+=1

<7>练习七:

i=1
while i<10:
    j = 1
    k = 1
    while k<=9-i:
        print('     \t',end='')
        k+=1
    while j<=i:
        result=j*i
        print('%d*%d=%d\t' %(i,j,result),end='')
        j+=1
    print('')
    i+=1

<8>练习八:

i=1
while i<=9:
    j=1
    k=1
    while k<=i-1:
        print('     \t',end='')
        k+=1
    while j<=10-i :
        result=(10-i)*j
        print('%d*%d=%  d\t' %(10-i,j,result),end='')
        j+=1
    print('')
    i+=1

<9>练习九:

import random
num=random.randint(1,100)
i=1
while i<=5:
    num1=int(input('请输入你猜的数字:'))
    if num==num1:
        print('恭喜中奖')
        break
    elif num1<num:
        print('too small')
    elif num1>num:
        print('too big')
    print('你还有%s次机会' %(5-i))
    i+=1
else:
    print('失败')

四.break,continue和exit()的用法

1.break的用法

在循环中,break语句用于提前退出循环

for i in range(10):
    if i == 5:
        break
    print(i)

print('hello python')
#输出  0
#     1
#     2
#     3
#     4
#     hello python

2.continue的用法

在循环过程中,也可以使用continue语句,跳过当前的这次循环,直接开始下一次的循环。

for i in range(10):
    if i == 5:
        continue
    print(i)

print('hello python')
#输出  0
#     1
#     2
#     3
#     4
#     6
#     7
#     8
#     9
#     hello python

3.exit()的用法

在循环过程中,可以使用exit()来退出整个程序。

for i in range(10):
    if i == 5:
       exit()
    print(i)

print('hello python')
#输出  0
#      1
#      2
#      3
#      4
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值