python 1.2 while循环 + 格式化输出

1、while循环

无限循环 
print("开始")
while True:
    print("123")

print("结束")


date = True
# 变量的值等于布尔 True


while date:
    print("123")




date = True
while date:

    print(123)
    date = False  
    # 在循环中更改了变量的状态 




# 有限循环
print("开始")

num = 1

while num < 3:
    print("123")
    num=5
    
print("结束")


print("开始")

num = 1

while num < 3:
    print("123")
    num= num +1
    # 在循环体内对变量值 加1

print("结束")



# 练习题 重复3次输出 123
print("开始")
num = 1
while num < 4:
    print("123")
    num= num +1
    # 在循环体内对变量值 加1

print("结束")


count = 1
while True:
    print(count)
    # count = count + 1
    count += 2
    count += 1
    # +=1 每次加1   +=2 每次加2

1.1、练习题

用户登录系统,如果密码错误,则反复让用户输入,知道输入正确才停止

longin = True

while longin:

    key_name = input("输入用户名:")
    key_pwd = input("输入密码:")

    if key_name =="stone" and key_pwd == "123":
        print("登录成功")
        longin = False
    else:
        print("登录失败,请重新登录")

猜大小, 比如一个数是66 ,大了 输出大了,,小了输出小了,正确输出 结果正确,退出循环。

num = 66
flag = True

while flag:

    key_num = int(input(" 请输入你猜测的数字"))

    if key_num >num:
        print("猜大了")

    elif key_num <num:
        print("猜小了")
    elif key_num == num:
        print("猜对了")
        flag = False

使用循环输出 1-100 所以的整数

date = 1

while date <101:
    print(date)
    date = date+1

输处1-10 除了7 所有的数

data = 0
while data <= 10:
    if  data !=7:
        print(data)

    data = data + 1

输处1-100 所以的偶数 和所有的奇数

偶数
date = 0

while date <101:
    if date %2 ==0:
        print(date)

    date = date+1

奇数
date = 0

while date <101:
    if date %2 >0:
        print(date)

    date = date+1

1-100 的所有的数之和

date = 0
total  =0
while date <101:
    date = date+1

    total =total + date
    if date ==100:
        print(big_sum)
#  第一种方法判断计算 数字的次数,要求计算计数的位数


tatol = 0
data = 0
while data <=100 :

    tatol = tatol + data
    if data == 100:
        print(tatol)
    data +=1 
# 第二种方法计算 数值的和

输出 10 -1 所有的整数

num = 10
date = True
while date:
    print(num)
    num = num -1
    if num == -1:
        date =False
          
   
  • while循环 猜年龄

 While else的用法
GuessDang = 22
count = 0
while count < 3:
    guess = int(input("dangjian guess :"))
    if guess == GuessDang:
        print("You Good!!")
        break
    elif guess > GuessDang:
        print(" it's too small")
    else:
        print(" it' too bigger")
    count += 1
else:
    print(" too times ...fack off.")

1、 使用while循环实现输出1-2+3-4+5-6+7.。。。100 的和

​ 判断奇数、偶数 能不能整除

l = 2
sum = 0
while l <= 100:
if (l % 2) == 0:  # 偶数
    sum += l
else:
    sum -= l
l += 1

print(sum)

课程总结

  1. if 分支控制语句

    • 单条件判断。if. else

    • 多条件判断. if. elif else

    • 缩进为4个空格

  2. while 循环控制语句

    • 条件循环语句

    • 无限循环 while True

    • 有限循环. while 条件判断。真假 大小 数量

  3. while 循环关键字

    • break 结束循环
    • continue 结束本次循环
  4. 试题 1-2+3-4+5到100

    • 判断取值的数字是否是奇数偶数。奇数- 偶数+
    • 运用while 循环 条件判断

3、变量的格式化输出

%s == 字符串
%d == 数字
%f == 浮点数

格式化使用代码

  1. 使用 %s 关键字实参的方式,
name = input("name:")
age = input("age:")
job = input("job:")
salary = input("salary:")

info = '''
---------- %s info--------
Name: %s
age: %s
job: %s
salary: %s
''' %(name, name, age, job, salary)
# input 输入的默认是 字符串 ,就算是数字,也是字符串,
# 所以使用int() 强制转换成数字。
# %d 能代表数字
# 格式化 输出

name = input("name:")
age = int(input("age:"))     
job = input("job:")
salary = input("salary:")

info = '''
---------- %s info--------
Name: %s
age: %d
job: %s
salary: %s
''' % (name, name, age, job, salary)
  1. 使用 %s 实参的方式
# 两行变一行
print("my name is %s my age is %s "%("dangj","18"))

# 格式化输出 也可以接受 整形类型 ,列表
print("my name is %s my age is %d "%("dangj",18))
print("my name is %s my age is %s "%("dangj",[11,11,22]))
msg = "my name is %s  my age is %s" %("dangj","18")
print(msg)

% 补充

%格式化 补充 

使用转义 %,使用%的本身意思 ,就是 %% 即可
name ="张三"
messges = "%s ,任务已经完成90%%了"%(name)
print(messges)


key_name ="张三"
messges = "%(name)s ,任务已经完成90%%了"%{"name":key_name}

print(messges)
  1. 使用 format 调用参数引入关键字参数
    使用在监控方面的格式化输出。
{}
加变量名,使用关键字传参
'''

name = input("name:")
age = input("age:")
job = input("job:")
salary = input("salary:")

info2 = '''
name: {Name}
age: {Age}
job: {Job}
salary : {Salary}
'''.format(Name=name,
           Age=age,
           Job=job,
           Salary=salary
           )
print(info2)

格式化输出 使用索引位置

name = input("name:")
age = input("age:")
job = input("job:")
salary = input("salary:")

info = '''

--------- info {0} ----
name: {0}
age: {1}
job: {2}
salary: {3}
'''.format(name, age, job, salary)

print(info)



# Format  两种传参方式,一个是位置传参  在不写索引号码的时候可以复用

messges = "我叫{},今年{},上{}级".format("stone",10,5)  # 默认使用顺序索引
messges = "我叫{0},今年{1},上{1}级".format("stone",10)  # 索引复用





格式化 模板使用

messges="我叫{},今年{}岁,上{}年级"

data1 = messges.format("stone",4,9)
data2 = messges.format("zhangsan",9,1)



messges="我叫%s,今年%d岁,上%d年级"

data1 = messges %('stone',10,10)
data2 = messges %("zhangsan",9,1)

print(data1,end="\n"+data2)


F 的格式化输出


 # 字符串输出
# text = f"我叫{'stone'},今年{10},上{6}级"
# print(text)

 # 变量输出

# name = "stone"
# age = 10
# num_class = 6
#
# text = f"我叫{name},今年{age},上{num_class}级"
# print(text)

 # 数字类型的运算输出  3.6 以上版本

# name = "stone"
# age = 10
# num_class = 6
#
# text = f"我叫{name},今年{age + 2},上{num_class}级"
# text = f"我叫{name},今年{age + 2= },上{num_class}级"  # 等于号显示运算过程
# print(text)


# 数字类型的进制转换 3.6 以上版本
# name = "stone"
# age = 22
# num_class = 6
#
# text1 = f"我叫{name},今年{age:#b},上{num_class}级"  # 2 进制
# text2 = f"我叫{name},今年{age:#o},上{num_class}级"  # 8 进制
# text3 = f"我叫{name},今年{age:#x},上{num_class}级"  # 16 进制
#
# print(text1)
# print(text2)
# print(text2)


# 函数输出, 对象的方法
name = "stone"
age = 22
num_class = 6

text1 = f"我叫{name.upper()},今年{age},上{num_class}级"  
# 在输出中 占位的可以扩展  函数  或者 对象的方法
print(text1)

总结

1 while else 使用,while 循环内的所有条件均不成立后,使用else的内容

2 格式化输出的部分

  • %s 输出 字符串内%s 表示字符串。%d 表示数字。%f 表示浮点数

  • %s 有两种表示 %(可以是具体的字符传,也可以是变量名),必须一一对应

  • %s 字符串中表示 百分比时,使用2个%% ,进行转义

  • .format 在字符串中使用{} 表示占位

  • 字符串内有几个{},那么.format(就应有几个值或者变量名)

  • {}可以使用123 索引数,对应引用的值或者变量名,也可以一个{1},对应多个值。

  • F 格式化输出,在字符串加f 关键字,字符串内使用{} 占位

    1. {} 括号内可以是值,变量名

    2. {} 括号内可以是数字的运算,运算式的展示 12 +2 = ,数字的进制转换

    3. {} 括号内可以是函数,或者对象的方法

  • 格式化输出的模版

  • data = messages %s()

  • data = messages.format()

3、运算 ,比较 ,逻辑

  • 加 减 乘。+ - * 平方**
  • 除的方式3种 一个取小数点 /。 一个取余数 % ,一个地板除,不要小数点 //
  • 大于 >. 小于 <. 等于= 不等于!=. 大于等于 >=. 小于等于 <= Python2 不等于<>
  • 大于 小于 只能用于数字类型之间进行比较
  • 相等的比较,只能用于相同的数据类型,不同的数据类型不能进行比较
  • 成员运算 in not in. 结果反馈的bool值。
  • 逻辑运算 and or not 取非的意思
  • 使用()做优先级的标识,优先级 not > and > or ,
posted @ 2021-08-10 15:55  mmszxc  阅读(296)  评论(0)    收藏  举报