练习1.模拟登陆判断(3次机会)

r_name = 'xianyu'
r_password = '' i = 3 # 用来控制循环次数 while i > 0:
name = input('请输入你的账号:')
i -= 1
if name == r_name: # 输入的账号正确时
password = input('请输入您的密码') # 可继续输入密码
if password == r_password: # 若密码正确
print('登录成功, %s 欢饮您!' %(r_name)) # 登录成功,退出循环
break
else: # 若密码错误
if i:
print('密码输入错误,您还有 %s 次机会尝试,请重新登录' %(i)) # 提示用户剩余机会
else:
con = input('3次机会已用完,您是否还要继续尝试?Y')
if con == 'Y':
i = 3
else: # 输入的账号错误时
if i:
print('您输入的账号有误,请重新输入,\n 还有 %s 次机会' %(i))
else:
con = input('3次机会已用完,您是否还要继续尝试?Y')
if con == 'Y':
i = 3

练习2.求1-2+3-4+5-6...+99的值,要求跳过88

# 方法一
i = 1
sum = 0
while i < 100:
if i % 2:
sum += i
else:
if i == 88:
pass
else:
sum -= i
i += 1
print(sum) # 方法二
j = 0
k = -1 # 把所有的都当做加法,减偶数就相当于加上一个负偶数,k用来表示正负
sum2 = 0
while j < 99: # i 是从零开始的,先自加了
j += 1
if j == 88:
k = -k
continue
else:
k = -k
sum2 += j*k
print(sum2)

在第一个例子中,使用了 %s 。%s相当于一个占位符,可用来进行格式化输出,一般字符串用%s占位,数字用 %d 占位

在格式化输出的字符串中,若同时存在%,需要使用两个 %% 进行转义表示

str = '''
-------------- %s 的自我介绍------------
姓名: %s
年龄: %d
身高: %d cm
体重: %d kg
性别: %s
%s ,你的身体素质打败了 %d%% 的人.
------------------------------------------
''' %(name,name,age,height,weight,sex,name,25)
print(str)

在上面的代码中,占位符必须与后面的值一一匹配.最后的两个%实际显示出来只有一个

格式化输出的另一种方法时使用字符串的 .format() 方法,任然以上面的代码为例使用.format方法来进行格式化,有三种方式

str = '''
-------------- {} 的自我介绍------------
姓名: {}
年龄: {}
身高: {} cm
体重: {} kg
性别: {}
{} ,你的身体素质打败了 {}% 的人.
------------------------------------------
'''.format(name,name,age,height,weight,sex,name,25)
print(str)

在这种方式中,所有的占位符都可以用{}来代替.最后的值仍要一一匹配,name出现了3次

第二种方法

str = '''
-------------- {0} 的自我介绍------------
姓名: {0}
年龄: {1}
身高: {2} cm
体重: {3} kg
性别: {4}
{0} ,你的身体素质打败了 {5}% 的人.
------------------------------------------
'''.format(name,age,height,weight,sex,25)
print(str)

在这种方法中,相当于对后面的值进行了索引编号,按照编号对应,不用重复书写

第三种方法与第二种类似,只是将索引换为变量名,再在后面对变量进行赋值即可,此处不再赘述.

day01 格式化输出和while循环的两个小练习的更多相关文章

  1. 19-3-1Python的PyCharm编辑器,以及格式化输出、while循环、运算符、编码初识

    第一次使用PyCharm,需要注意到是否使用的自己安装的python版本,或者使用的自带版本,如果使用的自带版本,注意切换. PyCharm使用优点,可以一步一步看程序的出错问题,即Debug的使用, ...

  2. 字符串格式化输出、while循环、运算符、编码

    1.字符串格式化输出 %占位符: %s => 字符串 %d=>整数型 %%=>转义 普通的% %()不能多,不能少,一一对应 f"{}"大括号里的内容一般都放变量 ...

  3. Python自动化--语言基础2--运算符、格式化输出、条件语句、循环语句、列表、元组

    运算符包括:算术运算符.比较运算符.赋值运算符.逻辑运算符.成员运算符.身份运算符 算术运算符 %   取模(余数) //  取相除的整数部分 /   (5/2=2.5) 比较运算符 ==  等于 ! ...

  4. day02 while循环 运算符 格式化输出 编码

     今日主要内容 while循环:判断条件是否成立. 如果成立执行循环体.然后再次判断条件,.....直到条件不成立的时候跳出循环 语法: while 条件: 循环体 else: 当条件不成立的时候执行 ...

  5. while循环、格式化输出、运算符和编码初识

    while循环 1. while循环的结构 while 条件: 执行语句1 执行语句2 i = 0 while i < 10: print(i) i += 1 运行结果 0 1 2 3 4 5 ...

  6. while循环 格式化输出 密码本 编码的初识

    第二天课程整理 while 循环 why : while ' 循环' 的意思 what : while 无限循环 how : 1.基本结构 while + 条件 循环的代码 初识循环 while tr ...

  7. python基础(二)条件判断、循环、格式化输出

    继续上一篇,今天主要总结一下条件判断.循环.格式化输出 一.条件判断 python中条件判断使用if else来判断,多分支的话使用if elif ... else,也就是如果怎么怎么样就怎么怎么样, ...

  8. python中的循环和编码,运算符, 格式化输出

    1.while循环 现在让我们来看看python中的while循环  格式为 while 条件 循环体 (break) (continue) 中断循环的关键字有break和continue, brea ...

  9. 总结day2 ---- while循环的简单使用, 格式化输出.运算符.以及编码的应用

    内容提要 一 : while 循环 while 的基本语句操作 如何终止循环 二 :格式化输出 三 :运算符号 四 :编码初识别 一 : while 循环 1  >>>>whi ...

随机推荐

  1. 关于FastJSON

    https://github.com/alibaba/fastjson/wiki/Quick-Start-CN FastJSON常见问题 FastJson和get方法的问题 使用SimplePrope ...

  2. 同步调用异步方法how-would-i-run-an-async-taskt-method-synchronously

    同步调用异步方法帮助类: public static class AsyncHelpers { /// <summary> /// Execute's an async Task<T ...

  3. 自动化测试工具Ranorex的录制功能使用

    由于帆软的 Report 包含gui和web端 设计器 web预览 做自动化测试不适合使用 Katalon 发现了Ranorex Ranorex 是一款在Windows操作系统的上运行的GUI自动测试 ...

  4. 鼠标交互插件threex.domevents介绍

    threex.domevents是一个three.js的扩展库,支持3D场景的交互.和我们操作DOM树的事件相似,名称都是一样的.所以使用起来非常方便.另外他也提供了连接操作.单击网格可实现跳转功能. ...

  5. IDEA下搭建Shiro-web环境,总是报BasicDataSource,classnotfound;问题解决

    进入报错跟踪,查看加载的classloader中没有dbcp相关jar包 猜测结果是,jar没有被加载,但是maven引用没错,而且也能找到对应的class 后来又查看IDEA配置中,相关jar也引入 ...

  6. Web容器初始化过程

    一.SpringMVC启动过程 Spring的MVC是基于Servlet功能实现的,每个web工程中都有一个web.xml文件,web容器在启动的时候会加载这个配置文件,当一个web应用加载到web容 ...

  7. JS设计模式——观察者模式(通俗易懂)

    Observer模式的概念 Observer模式是行为模式之一,它的作用是当一个对象的状态发生变化时,能够自动通知其他关联对象,自动刷新对象状态. Observer模式提供给关联对象一种同步通信的手段 ...

  8. 三、Sql Server 基础培训《进度3-是否使用外键(知识点学习)》

    学习作业3: 问题1:你觉得外键有哪些适用情况?哪些不适用情况?   问题2:本次实战案例,由你来架构,你觉得有必要建立外键吗? 说明你的理由?     ======================= ...

  9. LeetCode - 769. Max Chunks To Make Sorted

    Given an array arr that is a permutation of [0, 1, ..., arr.length - 1], we split the array into som ...

  10. Golang, 以 9 个简短代码片段,弄懂 defer 的使用特点

    作者:林冠宏 / 指尖下的幽灵 掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8 博客:http://www.cnblogs.com/linguan ...