python学习(二):循环

 1.print输出不换行

#print输出不换行
print("hello",end=" ")
print("nihao",end=" ")

运行结果: 

hello nihao 

 2.布尔运算

#布尔运算值 True、False
#比较运算符的使用 ==、!=、>、<、>=、<=
bool_1=False
bool_2=True
print(f"bool_1变量的内容是:{bool_1},类型是:{type(bool_1)}")
print(f"bool_2变量的内容是:{bool_2},类型是:{type(bool_2)}")
num1=4
num2=0
print(f"num1是否等于num2:{num1==num2}")
print(f"num1是否不等于num2:{num1!=num2}")
print(f"num1是否大于num2:{num1>num2}")
print(f"num1是否小于num2:{num1<num2}")
print(f"num1是否大于等于num2:{num1>=num2}")
print(f"num1是否小于等于num2:{num1<=num2}")

运行结果: 

bool_1变量的内容是:False,类型是:<class 'bool'>
bool_2变量的内容是:True,类型是:<class 'bool'>
num1是否等于num2:False
num1是否不等于num2:True
num1是否大于num2:True
num1是否小于num2:False
num1是否大于等于num2:True
num1是否小于等于num2:False
#字符串比较
str1="hallo"
str2="hello"
print(f"str1是否等于str2:{str1==str2}")
print(f"str1是否大于str2:{str1>str2}")
print(f"str1是否小于str2:{str1<str2}")

运行结果: 

str1是否等于str2:False
str1是否大于str2:False
str1是否小于str2:True

3.if循环 

#if-else语句
rain=int(input("今天是否下雨,1表示下雨,0表示未下雨:"))
if rain==0:
    print("不需要带伞")
else:
    print("需要带伞")
今天是否下雨,1表示下雨,0表示未下雨:1
需要带伞
#if-elif...-else语句
rain=int(input("今天是否下雨,1表示下雨,0表示未下雨,2表示太阳很毒需要伞:"))
if rain==0:
    print("不需要带伞。")
elif rain==1:
    print("今天下雨,需要带伞。")
else:
    print("今天太阳很毒,需要带伞。")
#在条件判断语句中直接使用input
if int(input("今天是否下雨,下雨输入1:"))==1:
    print("今天下雨,需要带伞。")
elif int(input("今天太阳毒不毒,毒的话输入1:"))==1:
    print("今天太阳很毒,需要带伞。")
else:
    print("今天不需要带伞。")
今天是否下雨,下雨输入1:0
今天太阳毒不毒,毒的话输入1:0
今天不需要带伞。

4.while循环 

#while循环、if语句嵌套、random随机生成数
#if语句嵌套
#嵌套的关键点在于空格缩进,通过空格缩进来解决语句之间的层次关系
import random
num=random.randint(1,100)
flag=True
count=0
while flag:
    NUM=int(input("输入你猜测的数字:"))
    if NUM==num:
        count += 1
        flag = False
        print("猜对啦。")
    else:
        if NUM>num:
           count += 1
           print("猜大了,重新猜。")
        else:
            count += 1
            print("猜小了,重新猜。")
print(f"你猜对用了{count}轮")
输入你猜测的数字:50
猜小了,重新猜。
输入你猜测的数字:60
猜大了,重新猜。
输入你猜测的数字:55
猜大了,重新猜。
输入你猜测的数字:53
猜大了,重新猜。
输入你猜测的数字:52
猜对啦。
你猜对用了5轮
#while嵌套循环
#九九乘法表
i=1
while i<=9:
    j=1
    while j<=i:
        print(f"{i}*{j}={i*j}",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

5.for循环 

"""for循环无法定义循环条件,无法实现无限循环
从被处理的数据集中依次取出内容进行处理
for i in 数据集(序列类型)
    循环体                        """
count_a=0
count_d=0
count_else=0
count=0  #统计空格数量
str="aaaaeeddfgg adgjnydgbjkniiio"
for i in str:
    if i=="a":
        count_a+=1
    elif i=="d":
        count_d+=1
    elif i==" ":
        count+=1
    else:
        count_else+=1
print(f"str中有{count_a}个a。")
print(f"str中有{count_d}个d。")
print(f"str中有{count_else}个其他字母。")
print(f"str中有{count}个空格。")
print(f"str中共有{count_a+count_d+count_else}个字母。")
print(f"str中共有{count_a+count_d+count_else+count}个元素。")
str中有5个a。
str中有4个d。
str中有18个其他字母。
str中有1个空格。
str中共有27个字母。
str中共有28个元素。

6.range()语句

"""range()语句
1.range(num):0-num(不含num)。
2.range(num1,num2):num1-num2(不含num2)。
3.range(num1,num2,step):num1-num2(不含num2),
step为步长,默认是1,所取数字差值为step(num1,num1+step,num+2*step...)。"""
#输出0-10之间的数字
for i in range(10):
    print(i,end=" ")
print()
#输出5-10之间的数字
for i in range(5,10):
    print(i,end=" ")
print()
#输出0-11之间的偶数
for i in range(0,11,2):
    print(i,end=" ")
print()
0 1 2 3 4 5 6 7 8 9 
5 6 7 8 9 
0 2 4 6 8 10 
#for嵌套循环打印九九乘法表
for i in range(1,10):
    for j in range(1,i+1):
        print(f"{i}*{j}={i*j}",end=" ")
    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.循环综合应用 

c9673794bf33430eb88fb5e7e71778f0.png

import random
money=10000
for i in range(1,21):
    if money<=0:
        print("工资发完了,下个月领取吧。")
        break
    else:
        score=random.randint(1,10)
        if score>=5:
            print(f"员工{i},绩效分{score},发工资,下一位。")
        else:
            print(f"员工{i},绩效分{score},不发工资,下一位。")
            continue
        money-=1000
        print(f"给员工{i}发工资1000,工资余额还有{money}")

 

员工1,绩效分8,发工资,下一位。
给员工1发工资1000,工资余额还有9000
员工2,绩效分3,不发工资,下一位。
员工3,绩效分7,发工资,下一位。
给员工3发工资1000,工资余额还有8000
员工4,绩效分9,发工资,下一位。
给员工4发工资1000,工资余额还有7000
员工5,绩效分4,不发工资,下一位。
员工6,绩效分3,不发工资,下一位。
员工7,绩效分5,发工资,下一位。
给员工7发工资1000,工资余额还有6000
员工8,绩效分9,发工资,下一位。
给员工8发工资1000,工资余额还有5000
员工9,绩效分8,发工资,下一位。
给员工9发工资1000,工资余额还有4000
员工10,绩效分10,发工资,下一位。
给员工10发工资1000,工资余额还有3000
员工11,绩效分2,不发工资,下一位。
员工12,绩效分6,发工资,下一位。
给员工12发工资1000,工资余额还有2000
员工13,绩效分3,不发工资,下一位。
员工14,绩效分8,发工资,下一位。
给员工14发工资1000,工资余额还有1000
员工15,绩效分5,发工资,下一位。
给员工15发工资1000,工资余额还有0
工资发完了,下个月领取吧。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值