格式化输出

  %: 占位符

    s: 字符串

    d: 数字

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

实例:

name = input('姓名:')
age = int(input('年龄:')) print('我叫%s, 我的年龄:%d,我的学习进度3%%.' %(name, age)) # 执行结果:
# 姓名:hkey
# 年龄:20
# 我叫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,3>4 or 4<3 and 1==1
# 3>4 or False
# False 2,1 < 2 and 3 < 4 or 1>2
# True or 1>2
# True 3,2 > 1 and 3 < 4 or 4 > 5 and 2 < 1
# True or False
# True 4,1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8
# False or False or 9 < 8
# False 5,1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
# False or False and 9 > 8 or 7 < 6
# False or False or 7 < 6
# False or False
# False 6,not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
# False and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
# False or False and 9 > 8 or 7 < 6
# False or False or 7 < 6
# False or False
# False

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

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

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

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

print(1 and 2)  # 2
print(0 and 2) # 0 当 and 前面的数字非0,则返回后面的数字;
当 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. 用户登录(三次机会重试)

#!/usr/bin/python3
# -*- coding: utf-8 -*-
# Author: hkey # 作业题:
# 1. 使用while循环输入1,2,3,4,5,6 8,9,10 count = 0
while count < 10:
count += 1 # 等价于 count = count + 1
if count == 7:
continue # continue 结束本次循环,开始下一次循环,continue 以下的代码都不再执行
print(count) # 2. 求 1-100 的所有数的和 num = 0
for i in range(1, 101): # range取一个范围 1, 100的所有数字,通过for循环遍历相加
num += i
print(num) # 3. 输出 1-100 的所有奇数
print(list(range(1, 101, 2)))
# 4. 输出 1-100 的所有偶数
print(list(range(2, 101, 2)))
# 5. 1-2+3-4+5 ...99的所有数的和
sum = 0
count = 1
while count < 100:
if count % 2: # count 对 2取余如果为 0 则该条件不成立,说明 count 为偶数,count 对 2取余如果不为 0 则该条件成立,说明 count 为奇数
sum += count # 奇数做加法
else:
sum -= count # 偶数做减法
count += 1
print(sum) # 总结:
# 在bool值中,0 None 空 为 False,其他都为 True # 6. 用户登录(三次机会重试)
count = 0
while True:
user = input('username:')
pwd = input('password:')
if user == 'admin' and pwd == '':
print('登录成功.')
break
else:
print('用户名密码不正确,请重试。')
count += 1
if count == 3:
print('登录验证超过三次,登录失败.')
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. 51nod 1277字符串中的最大值(拓展kmp)

    题意: 一个字符串的前缀是指包含该字符第一个字母的连续子串,例如:abcd的所有前缀为a, ab, abc, abcd. 给出一个字符串S,求其所有前缀中,字符长度与出现次数的乘积的最大值.   题解 ...

  2. QT 基本图形绘制

    QT 基本图形绘制 1.告诉绘制引擎一些东西 QPainter::Antialiasing 在可能的情况下,反锯齿       QPainter::TextAntialiasing 在可能的情况下,文 ...

  3. listen() 函数

    声明:本文来自网络博文的合并,文后有链接. 一.listen函数仅由TCP服务器调用 它做两件事: 1.当socket函数创建一个套接字时,它被假设为一个主动套接字,也就是说,它是一个将调用conne ...

  4. BZOJ2216 [Poi2011]Lightning Conductor 【决策单调性dp】

    题目链接 BZOJ2216 题解 学过高中数学都应知道,我们要求\(p\)的极值,参变分离为 \[h_j + sqrt{|i - j|} - h_i \le p\] 实际上就是求\(h_j + sqr ...

  5. 【learning】快速沃尔什变换FWT

    问题描述 已知\(A(x)\)和\(B(x)\),\(C[i]=\sum\limits_{j\otimes k=i}A[j]*B[k]\),求\(C\) 其中\(\otimes\)是三种位运算的其中一 ...

  6. bzoj 1070 费用流

    //可以网络流,但是要怎么分配每辆车让谁维修以及维修顺序呢.可以考虑每辆车维修时间对总结果的贡献,把每个修车人拆成n个点共n*m个点, //n辆车连向这n*m个点,流量1,费用k*修车时间,其中k(1 ...

  7. select、poll和epoll多路I/O复用

    一.三者的区别 select  select最早于1983年出现在4.2BSD中,它通过一个select()系统调用来监视多个文件描述符的数组,当select()返回后,该数组中就绪的文件描述符便会被 ...

  8. Nginx--try_files

    Nginx的配置语法灵活,可控制度非常高.在0.7以后的版本中加入了一个try_files指令,配合命名location,可以部分替代原本常用的rewrite配置方式,提高解析效率.   作用域:se ...

  9. Mac(Linux)上安装memcached步骤

    Mac上安装memcached类似于在Linux平台上安装memcached. 主要需要做两块: 一.安装libevent库: 二.安装memcached; 一.安装libevent库 libeven ...

  10. 深入探索C++对象模型(七)

    站在对象模型的尖端(On the Cusp of the Object Model) Template 下面是有关template的三个主要讨论方向: template的声明,基本上来说就是当你声明一 ...