格式化输出

  %: 占位符

    s: 字符串

    d: 数字

    %%: 表示一个%, 第一个%是用来转义

实例:

  1. name = input('姓名:')
  2. age = int(input('年龄:'))
  3.  
  4. print('我叫%s, 我的年龄:%d,我的学习进度3%%.' %(name, age))
  5.  
  6. # 执行结果:
  7. # 姓名:hkey
  8. # 年龄:20
  9. # 我叫hkey, 我的年龄:20,我的学习进度3%.

初始编码

最初的编码是由美国提出,当时只规定了 ASCII码用来存储字母及符号,后来为了解决全球化文字的差异,创建了万国码:unicode

  在 unicode中,

    1个字节表示了所有的英文、特殊字符、数字等等;

    一个中文需要 4个字节表示,32位 就很浪费。

后来,从 unicode 升级到 utf-8,  UTF-8 是Unicode的实现方式之一

  在 utf-8 中,一个文字用 3 个字节来存储。

00000001    8位bit == 1个字节(byte)

1byte      1024byte(字节) == 1KB

1KB        1024KB == 1MB

1MB        1024MB == 1GB

1GB        1024GB == 1TB

and or not 逻辑判断

判断优先级(重点):() > not > and > or

练习1: 判断下面返回结果 (提示:根据 () > not > and > or 来进行判断)

  1. 1,3>4 or 4<3 and 1==1
  2. # 3>4 or False
  3. # False
  4.  
  5. 2,1 < 2 and 3 < 4 or 1>2
  6. # True or 1>2
  7. # True
  8.  
  9. 3,2 > 1 and 3 < 4 or 4 > 5 and 2 < 1
  10. # True or False
  11. # True
  12.  
  13. 4,1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8
  14. # False or False or 9 < 8
  15. # False
  16.  
  17. 5,1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
  18. # False or False and 9 > 8 or 7 < 6
  19. # False or False or 7 < 6
  20. # False or False
  21. # False
  22.  
  23. 6,not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
  24. # False and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
  25. # False or False and 9 > 8 or 7 < 6
  26. # False or False or 7 < 6
  27. # False or False
  28. # False

上面是条件判断,也可以直接进行数字的判断:

x or y  x为非零,则返回x, 否则返回 y

  1. print(1 or 2) # 1
  2. print(3 or 2) # 3
  3. print(0 or 2) # 2
  4. print(0 or 100) # 100
  5.  
  6. or 前面的数字不为0的时候,则返回前面的数字;
  7. or 前面的数字为0,则返回后面的数字。

x and  y x为True,则返回y,与 or 正好相反

  1. print(1 and 2) # 2
  2. print(0 and 2) # 0
  3.  
  4. and 前面的数字非0,则返回后面的数字;
  5. and 前面的数字为0,则返回0.

数字和布尔值之间的转换,遵循以下两条规则:

(1)数字转换为 bool值:非零转为bool值为:True;0 转换为bool值为:False

(2)bool值转换为数字:True 为:1; False 为 0

作业题:

1. 使用while循环输入1,2,3,4,5,6 8,9,10

2. 求 1-100 的所有数的和

3. 输出 1-100 的所有奇数

4. 输出 1-100 的所有偶数

5. 1-2+3-4+5 ...99的所有数的和

6. 用户登录(三次机会重试)

  1. #!/usr/bin/python3
  2. # -*- coding: utf-8 -*-
  3. # Author: hkey
  4.  
  5. # 作业题:
  6. # 1. 使用while循环输入1,2,3,4,5,6 8,9,10
  7.  
  8. count = 0
  9. while count < 10:
  10. count += 1 # 等价于 count = count + 1
  11. if count == 7:
  12. continue # continue 结束本次循环,开始下一次循环,continue 以下的代码都不再执行
  13. print(count)
  14.  
  15. # 2. 求 1-100 的所有数的和
  16.  
  17. num = 0
  18. for i in range(1, 101): # range取一个范围 1, 100的所有数字,通过for循环遍历相加
  19. num += i
  20. print(num)
  21.  
  22. # 3. 输出 1-100 的所有奇数
  23. print(list(range(1, 101, 2)))
  24. # 4. 输出 1-100 的所有偶数
  25. print(list(range(2, 101, 2)))
  26. # 5. 1-2+3-4+5 ...99的所有数的和
  27. sum = 0
  28. count = 1
  29. while count < 100:
  30. if count % 2: # count 对 2取余如果为 0 则该条件不成立,说明 count 为偶数,count 对 2取余如果不为 0 则该条件成立,说明 count 为奇数
  31. sum += count # 奇数做加法
  32. else:
  33. sum -= count # 偶数做减法
  34. count += 1
  35. print(sum)
  36.  
  37. # 总结:
  38. # 在bool值中,0 None 空 为 False,其他都为 True
  39.  
  40. # 6. 用户登录(三次机会重试)
  41. count = 0
  42. while True:
  43. user = input('username:')
  44. pwd = input('password:')
  45. if user == 'admin' and pwd == '':
  46. print('登录成功.')
  47. break
  48. else:
  49. print('用户名密码不正确,请重试。')
  50. count += 1
  51. if count == 3:
  52. print('登录验证超过三次,登录失败.')
  53. break

作业题答案

[ python ] 格式化输出、字符集、and/or/not 逻辑判断的更多相关文章

  1. python格式化输出【转】

    今天写代码时,需要统一化输出格式进行,一时想不起具体细节,用了最笨的方法,现在讲常见的方法进行一个总结. 一.格式化输出 1.整数的输出 直接使用'%d'代替可输入十进制数字: >>> ...

  2. Python格式化输出的三种方式

    Python格式化输出的三种方式 一.占位符 程序中经常会有这样场景:要求用户输入信息,然后打印成固定的格式比如要求用户输入用户名和年龄,然后打印如下格式:My name is xxx,my age ...

  3. python格式化输出及大量案例

    python格式化输出符号及大量案例 1.格式化输出符号 python格式化输出符号 格式化符号 含义 %c 转化成字符 %r 优先使用repr()函数进行字符串转化 %s 转换成字符串,优先使用st ...

  4. Python 格式化输出

    转载 今天写程序又记不清格式化输出细节了--= =索性整理一下. 注意: 与C/C++  不同的是这里括号后面不需要加' , '号. python print格式化输出. 1. 打印字符串 print ...

  5. Python格式化输出

    今天写程序又记不清格式化输出细节了……= =索性整理一下. python print格式化输出. 1. 打印字符串 print ("His name is %s"%("A ...

  6. [No000063]Python格式化输出

    python print格式化输出. 1. 打印字符串 print ("His name is %s"%("Aviad")) 效果: 2.打印整数 print ...

  7. [转]Python格式化输出

    今天写程序又记不清格式化输出细节了……= =索性整理一下. python print格式化输出. 1. 打印字符串 print ("His name is %s"%("A ...

  8. Python学习教程(learning Python)--1.2.2 Python格式化输出基础

    本节讨论为何要格式化输出数据? 先看一段代码吧,本程序的功能是计算月支付金额. amount_due = 5000.0 #年支付金额 monthly_payment = amount_due / 12 ...

  9. Python格式化输出%s和%d

    python print格式化输出. 1. 打印字符串 print ("His name is %s"%("Aviad")) 效果: 2.打印整数 print ...

随机推荐

  1. 利用Runloop优化流畅度

    我们可以对runloop添加观察者,当观察到状态为kCFRunLoopExit,kCFRunLoopBeforeWaiting的时候,做一些耗时的处理,废话不说,直接上代码 - (void)viewD ...

  2. Dll劫持漏洞详解

      一.dll的定义 DLL(Dynamic Link Library)文件为动态链接库文件,又称“应用程序拓展”,是软件文件类型.在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分 ...

  3. bzoj5055: 膜法师(BIT)

    大水题WA了两发T T 记录一下a[i]的前缀和,a[i]*a[j]就是sigma(a[j]*sumi[j-1]) 记录一下a[i]*a[j]的前缀和,a[i]*a[j]*a[k]就是sigma(a[ ...

  4. [JSOI2009]瓶子和燃料

    Description jyy就一直想着尽快回地球,可惜他飞船的燃料不够了. 有一天他又去向火星人要燃料,这次火星人答应了,要jyy用飞船上的瓶子来换.jyy 的飞船上共有 N个瓶子(1<=N& ...

  5. 弄清楚CSS的匹配原理让你写出高效的CSS

    用了这么多年的CSS,现在才明白CSS的真正匹配原理,不知道你是否也跟我一样?看1个简单的CSS: DIV#divBox p span.red{color:red;} 按习惯我们对这个CSS 的理解是 ...

  6. SpringMVC 重定向

    在返回视图名字的字符串前面加forword:或redirect:前缀是就会对他们做特殊处理,它们分别是转发和重定向 我们测试一个重定向操作把 Java代码 @RequestMapping(" ...

  7. 安装黑苹果的config.plist

    前提条件:有mac真机.目前在测试虚拟机可行性 第一步:制作U盘启动盘 1.在 app store 下载 mac OS sierra 镜像 2.格式化 U 盘,gpt 格式 3.执行以下命令(具体名称 ...

  8. windows下安装pthreads扩展注意问题

    1.php版本必须是ts版本 2.pthreads扩展下载地址 http://windows.php.net/downloads/pecl/releases/pthreads/ 3.把下载的扩展php ...

  9. Dozer 对象的"搬运工"

    前言:项目中,经常会遇到各层对象之间相互进行值传递的过程,如在数据据持久层有一持久类EntityA,在视图层可能会变为ViewA,通常情况下,这两个类的属性 名称 .类型都是一致的,   在两个对象传 ...

  10. HDU6128 二次剩余/二次域求二次剩余解/LL快速乘法取模

    LINK 题意:求满足模p下$\frac{1}{a_i+a_j}\equiv\frac{1}{a_i}+\frac{1}{a_j}$的对数,其中$n,p(1\leq n\leq10^5,2\leq p ...