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

  1. r_name = 'xianyu'
  2. r_password = ''
  3.  
  4. i = 3 # 用来控制循环次数
  5.  
  6. while i > 0:
  7. name = input('请输入你的账号:')
  8. i -= 1
  9. if name == r_name: # 输入的账号正确时
  10. password = input('请输入您的密码') # 可继续输入密码
  11. if password == r_password: # 若密码正确
  12. print('登录成功, %s 欢饮您!' %(r_name)) # 登录成功,退出循环
  13. break
  14. else: # 若密码错误
  15. if i:
  16. print('密码输入错误,您还有 %s 次机会尝试,请重新登录' %(i)) # 提示用户剩余机会
  17. else:
  18. con = input('3次机会已用完,您是否还要继续尝试?Y')
  19. if con == 'Y':
  20. i = 3
  21. else: # 输入的账号错误时
  22. if i:
  23. print('您输入的账号有误,请重新输入,\n 还有 %s 次机会' %(i))
  24. else:
  25. con = input('3次机会已用完,您是否还要继续尝试?Y')
  26. if con == 'Y':
  27. i = 3

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

  1. # 方法一
  2. i = 1
  3. sum = 0
  4. while i < 100:
  5. if i % 2:
  6. sum += i
  7. else:
  8. if i == 88:
  9. pass
  10. else:
  11. sum -= i
  12. i += 1
  13. print(sum)
  14.  
  15. # 方法二
  16. j = 0
  17. k = -1 # 把所有的都当做加法,减偶数就相当于加上一个负偶数,k用来表示正负
  18. sum2 = 0
  19. while j < 99: # i 是从零开始的,先自加了
  20. j += 1
  21. if j == 88:
  22. k = -k
  23. continue
  24. else:
  25. k = -k
  26. sum2 += j*k
  27. print(sum2)

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

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

  1. str = '''
  2. -------------- %s 的自我介绍------------
  3. 姓名: %s
  4. 年龄: %d
  5. 身高: %d cm
  6. 体重: %d kg
  7. 性别: %s
  8. %s ,你的身体素质打败了 %d%% 的人.
  9. ------------------------------------------
  10. ''' %(name,name,age,height,weight,sex,name,25)
  11. print(str)

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

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

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

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

第二种方法

  1. str = '''
  2. -------------- {0} 的自我介绍------------
  3. 姓名: {0}
  4. 年龄: {1}
  5. 身高: {2} cm
  6. 体重: {3} kg
  7. 性别: {4}
  8. {0} ,你的身体素质打败了 {5}% 的人.
  9. ------------------------------------------
  10. '''.format(name,age,height,weight,sex,25)
  11. 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. Sword 内核队列一

    1.gfifo概述 gfifo是一个First In First Out数据结构,它采用环形循环队列的数据结构来实现:它提供一个无边界的字节流服务,最重要的一点是,它使用并行无锁编程技术,即当它用于只 ...

  2. tensorflow中moving average的用法

    一般在保存模型参数的时候,都会保存一份moving average,是取了不同迭代次数模型的移动平均,移动平均后的模型往往在性能上会比最后一次迭代保存的模型要好一些. tensorflow-model ...

  3. Java中excel转换为jpg/png图片 采用aspose-cells-18.6.jar

    一  Java中excel转换为jpg/png图片 package com.thinkgem.jeesite.modules.task.util; import com.aspose.cells.Im ...

  4. 新版的 Springsecurity request.getRequestDispatcher).forward(request, response); 404 问题,已解决

    旧版本的 可以直接 转发登陆 request.getRequestDispatcher).forward(request, response); 新版本的转发会404,原因 SpringSecurit ...

  5. sklearn中随机森林的参数

    一:sklearn中决策树的参数: 1,criterion: ”gini” or “entropy”(default=”gini”)是计算属性的gini(基尼不纯度)还是entropy(信息增益),来 ...

  6. 算法-KMP

    KMP算法的作用在于在一个主串中查找一个主串. 传统查找子串的方法是一个字符一个字符的比较,代码如下: public static int notKMP(String main,String sub) ...

  7. ubuntu 14.04升级python2

    http://blog.csdn.net/zahuopuboss/article/details/50927432

  8. Mac os的使用

    来北京入职java开发实习,公司标配macook.一开始不会使用macos系统,用起来很不适应,我是拒绝的.但是leader说mac是开发效率最高的工具了·.一开我很怀疑,后来觉得mac系统用起来还真 ...

  9. python 接口自动化测试(六)使用unittest 批量用例管理

    我们日常项目中的接口测试案例肯定不止一个,当案例越来越多时我们如何管理这些批量案例?如何保证案例不重复?如果案例非常多(成百上千,甚至更多)时如何保证案例执行的效率?如何做(批量)测试数据的管理?如何 ...

  10. Python学习之旅(十九)

    Python基础知识(18):面向对象高级编程(Ⅰ) 使用__slots__:限制实例的属性,只允许实例对类添加某些属性 (1)实例可以随意添加属性 (2)某个实例绑定的方法对另一个实例不起作用 (3 ...