python的if语句、for语句、while语句

36 篇文章 1 订阅

1.if语句

  • if-else语句
    在这里插入图片描述

  • 判断两个条件的if语句
    在这里插入图片描述
    在这里插入图片描述

  • elif语句
    在这里插入图片描述

  • if嵌套
    在这里插入图片描述

  • 练习:
    练习1:检测输入为空

      a = input('输入:')
      方法一:
      if a == '':
          print('请输入数值1')       使用此if语句或者下面的if语句都可检测是否为空。
      方法二:
      if not a:
          print('请输入数值2')
      else:
          print('OK')
    

练习2.输入年、月,输出本月有多少天

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

else:
    if mouth in (1, 5, 7, 8, 10, 12):
        print('天数为31')
    elif mouth == 2:
        print('天数为28')
    else:
        print('天数为30')

在这里插入图片描述
练习3.用户输入月份,打印该月份所属的季节

mouth = int(input('输入月份'))
if mouth in (1, 2, 3):
    print('%s在春季' % mouth)
elif mouth in (4, 5, 6):
    print('%s在夏季' % mouth)
elif mouth in (7, 8, 9):
    print('%s在秋季' % mouth)
elif mouth in (10, 11, 12):
    print('%s在冬季' % mouth)
else:
    print('只能输入1~12')

在这里插入图片描述

1.for语句

  • range的用法

       range(5)				(0,stop-1)
      [0, 1, 2, 3, 4]
       range(10)			
      [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
      range(1,10)			(start,stop-1)
      [1, 2, 3, 4, 5, 6, 7, 8, 9]
       range(1,10,2)       (start,stop-1,step)
      [1, 3, 5, 7, 9]
      range(0,10,2)
      [0, 2, 4, 6, 8]
    
  • break、continue、exit的区别
    break:跳出循环
    continue:跳过,什么都不干
    exit:跳出程序

  • for语句
    1)求1到100偶数和
    在这里插入图片描述
    注意:如果将打印写到循环中,每加一次打印一次。
    在这里插入图片描述
    2)求1到100奇数和
    在这里插入图片描述
    3)求阶乘

      a = int(input('输入您要求的阶乘'))
      sum = 1
      for i in range(1, a + 1):
          sum *= i
      print('%d的阶乘为:%d' % (a, sum))
    

在这里插入图片描述

  • 练习:
    1)有1,2,3,4四个数字,求这四个数字能生成多少个互不相同的无重复的三位数。

      """
      有1,2,3,4四个数字
      求这四个数字能生成多少个互不相同的无重复的三位数
      """
      num = 0
      for a in range(1, 5):
          for b in range(1, 5):
              for c in range(1, 5):
                  if a != b and a != c and b != c:
                      num += 1
                  print(a*100+b*10+c)
      print(num)
    

在这里插入图片描述
2)用户登录认证

	"""
	用户登录需求:
	1.判断用户名和密码
	2.判断用户名和密码是否正确 (name='root' passwd='westos')
	3.登陆仅有三此机会,超过三次报错
	"""
	num = 0
	for i in range(1, 4):
	    name = str(input('请输入用户名'))
	    passwd = str(input('请输入密码'))
	    if name == 'root' and passwd == 'westos':
	        print('成功')
	        break
	    else:
	        print('用户名或密码错误,重新输入,你还有%d次机会' % (3 - i))
	else:
	    print('您已经登陆三次')

在这里插入图片描述
3)做一个类似shell交互界面

	"""
	做一个类似shell交互界面
	"""
	for i in range(1, 10):
	    import os
	
	    cmd = input('[kiosk @ python]:')
	    if cmd == 'logout':
	        print('BYE')
	        break
	    else:
	        os.system(cmd)

在这里插入图片描述
在这里插入图片描述
4) 求两个数的最大公约数和最小公倍数

"""
求两个数的最大公约数和最小公倍数
"""
num1 = int(input('数字1'))
num2 = int(input('数字2'))

for i in range(1, min(num1+1, num2+1)):
    if num1 % i == 0 and num2 % i == 0:
        a = i #将满足公约数条件的数据赋值给a,最后赋直的是最大的公约数

    else:
        continue
b = (num1 * num2) / a
print('%d和%d的最大公约数是%d,最小公倍数是%d' % (num1, num2, a, b))

在这里插入图片描述

3.while语句

  • 嵌套语句(打星星)
    1)

      """
      打星星
      *
      **
      ***
      ****
      """
      a = int(input('输入你要打印的星星行数'))
      i = 1
      while i <= a:
          j = 0
          while j < i:
              j += 1
              print('*', end='')
          print()
          i += 1
    

在这里插入图片描述
2)

"""
***
**
*
"""
a = int(input('输入你要打印的星星行数'))
i = 0
while i < a:
    j = 0
    while j < a-i:
        j += 1
        print('*', end='')
    print()
    i += 1

在这里插入图片描述
3)

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

在这里插入图片描述
4)

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

在这里插入图片描述

  • 九九乘法表

      """
      九九乘法表
      """
      
      i = 1
      while i <= 9:
          j = 1
          while j <= i:
              k = i * j
              print('%d*%d=%d\t' % (j, i, k), end='')
              j += 1
          print('')
          i += 1
    

在这里插入图片描述
九九乘法表

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

在这里插入图片描述
九九乘法表

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

在这里插入图片描述
九九乘法表

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

在这里插入图片描述

练习:
1)猜数字

"""
猜数字
系统随机生成一个1~100的数字
用户有五次机会
如果用户猜测数字大于系统给出的数字,打印“大”
如果用户猜测数字小于系统给出的数字,打印“小”
如果用户猜测数字等于系统给出的数字,打印“恭喜中奖”,并推出循环
"""
j = 0
import random

i = random.randint(1, 100)
while j < 5:
    a = int(input('输入数字:'))
    j += 1
    if a == i:
        print('恭喜中奖')
        break
    if a < i:
        print('小')
    if a > i:
        print('大')
while j >= 5:
    print('没有机会了')
    print('正确答案是%d' % i)
    break

在这里插入图片描述
2)登录认证

i = 0
while i < 3:
    user = input('请输入用户:')
    passwd = input('请输入密码')
    if user == 'root' and passwd == '123':
        print('登录成功')
        break
    else:
        i += 1
        print('用户或密码错误,请重新输入')
        print('你还有%d次机会' %(3-i))
else:
    print('次数超过三次,稍后登录')

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值