python随手小练5

1、求1-100的累加和(终止条件 1-100)(while和for两种)

#while循环
count = 0
index = 0
while index <= 100:
    count += index
    index += 1
print(count)

#for循环
sum = 0
for i in range(0,101):
    sum += i
print(sum)

结果:
5050

2、打印:

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

i = 1
n = int(input("请输入打印的层数:"))
while i <= n:
    j = 1
    while j <= i:     #打印一行
        print("*", end="")   #end去除换行
        j += 1
    print()    #一行结束换行
    i += 1


结果:
请输入打印的层数:5
*
**
***
****
*****

3、打印
     *
    **
   ***
  ****
 *****

layer = int(input("请输入打印的层数:"))
for i in range(1, layer+1):
      #先打印空格
    space_nums = layer - i    #空格数 = 总行数 - 第几行(即 * 数)  
    for j in range(space_nums): #或者(1,space_nums+1),两相同
        print(" ", end="")
    #打印 *
    for j in range(i):   #j临时变量,两个j互不影响
        print("*", end="")
    print()


结果:
请输入打印的层数:5
    *
   **
  ***
 ****
*****

4、打印

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

n = int(input("请输入打印的行数:"))
for i in range(1, n+1):   #控制行数(n行,左闭右开)
    #打印空格
    for j in range(n-i):  #与(1, n-i, 1)相同
        print(" ", end=" ")    #end避免换行,使其打印一行
    #打印 *
    for k in range(i*2-1):  #与(1, i*2-1, 1)相同
        print("*", end=" ")
    #换行
    print()


结果:
请输入打印的行数:4
      * 
    * * * 
  * * * * * 
* * * * * * * 

5、打印(每层加二)

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

n = int(input("请输入打印的行数:"))
for i in range(1, n+1):   #控制行数(4行,左闭右开)
    #打印 *  (一行的)
    for j in range(i*2-1): #与(1, i*2-1, 1)相同
        print("*", end="")
    #换行
    print()


结果:
请输入打印的行数:4
*
***
*****
*******

6、99乘法表(while和for两种)

#while循环
i = 1
while i <= 9:   #控制列数
    j = 1
    while j <= i:    #打印一行
        print(f"{i}*{j}={i*j}\t",end="" )   #\t水平制表符(相当于8个空格)
        j += 1                              #end取消换行
    i += 1
    print()

#for循环
i = 1
while i < 10:
    j = 1
    while j < i+1:
        print(f'{j}* {i} = {i * j}\t', end=' ')
        j += 1
    i += 1
    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	

7、 ”l love you“ 判断是否有o几个

name = 'l love you'
count = 0
for i in name:
    if i == "o":
        count += 1
print(f"一共有{count}个o")


结果:
一共有2个o

8、统计偶数

例:
num = int(input("请输入遍历终止值:"))
count = 0
for i in range(1, num+1):
    if i % 2 == 0:
        count += 1
print(f"有{count}个偶数")

结果:
请输入遍历终止值:5
有2个偶数


 

9、 循环综合案例

import random
money = 10000
for i in range(1, 21): 
    score = random.randint(1, 10)  #1-10的随机数生成
    if score < 5:
        print(f"员工{i}绩效为{score},不发工资")
        continue
    # 判断余额
    if money >= 1000:
        money -= 1000
        print(f"员工{i}发放工资1000,公司账户剩余{money}")
    else:
        print(f"当前余额剩余{money},不发了,下个月吧")
        break

结果:
员工1绩效为3,不发工资
员工2发放工资1000,公司账户剩余9000
员工3绩效为1,不发工资
员工4发放工资1000,公司账户剩余8000
员工5发放工资1000,公司账户剩余7000
员工6发放工资1000,公司账户剩余6000
员工7发放工资1000,公司账户剩余5000
员工8绩效为1,不发工资
员工9发放工资1000,公司账户剩余4000
员工10发放工资1000,公司账户剩余3000
员工11绩效为1,不发工资
员工12发放工资1000,公司账户剩余2000
员工13发放工资1000,公司账户剩余1000
员工14绩效为4,不发工资
员工15绩效为1,不发工资
员工16发放工资1000,公司账户剩余0
当前余额剩余0,不发了,下个月吧

10、猜数字小游戏

import random  #引用random库函数
random = random.randint(1,100) #获取随机数字(取值范围1-100)
flag = True   #条件也可以写1或任意!0
while flag:   #进入循环,游戏不止玩一次
    n = int(input("请猜一猜数字吧:"))
    if n == random:
        print("恭喜你,猜对了!")
        print(random)
        flag = False   #也可以赋值0
    elif n > random:
        print("很遗憾,猜大了!")
    else:
        print("很遗憾,猜小了!")

结果:
请猜一猜数字吧:5
很遗憾,猜小了!
请猜一猜数字吧:70
很遗憾,猜大了!
请猜一猜数字吧:60
很遗憾,猜大了!
请猜一猜数字吧:50
很遗憾,猜大了!
请猜一猜数字吧:40
很遗憾,猜大了!
请猜一猜数字吧:20
很遗憾,猜大了!
请猜一猜数字吧:15
很遗憾,猜小了!
请猜一猜数字吧:17
很遗憾,猜小了!
请猜一猜数字吧:19
很遗憾,猜大了!
请猜一猜数字吧:18
恭喜你,猜对了!
18

目录

1、求1-100的累加和(终止条件 1-100)(while和for两种) 2、打印:***************  3、打印     *    **   ***  **** ***** 4、打印 *     * * *   * * * * * * * * * * * *  5、打印(每层加二)****************  6、99乘法表(while和for两种) 7、 ”l love you“ 判断是否有o几个 8、统计偶数 9、 循环综合案例 10、猜数字小游戏


你可能感兴趣的:(python,刷题之路,python练习,python,前端,学习,笔记,开发语言,算法,经验分享)