[ python ] 格式化输出、字符集、and/or/not 逻辑判断
格式化输出
%: 占位符
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 逻辑判断的更多相关文章
- python格式化输出【转】
今天写代码时,需要统一化输出格式进行,一时想不起具体细节,用了最笨的方法,现在讲常见的方法进行一个总结. 一.格式化输出 1.整数的输出 直接使用'%d'代替可输入十进制数字: >>> ...
- Python格式化输出的三种方式
Python格式化输出的三种方式 一.占位符 程序中经常会有这样场景:要求用户输入信息,然后打印成固定的格式比如要求用户输入用户名和年龄,然后打印如下格式:My name is xxx,my age ...
- python格式化输出及大量案例
python格式化输出符号及大量案例 1.格式化输出符号 python格式化输出符号 格式化符号 含义 %c 转化成字符 %r 优先使用repr()函数进行字符串转化 %s 转换成字符串,优先使用st ...
- Python 格式化输出
转载 今天写程序又记不清格式化输出细节了--= =索性整理一下. 注意: 与C/C++ 不同的是这里括号后面不需要加' , '号. python print格式化输出. 1. 打印字符串 print ...
- Python格式化输出
今天写程序又记不清格式化输出细节了……= =索性整理一下. python print格式化输出. 1. 打印字符串 print ("His name is %s"%("A ...
- [No000063]Python格式化输出
python print格式化输出. 1. 打印字符串 print ("His name is %s"%("Aviad")) 效果: 2.打印整数 print ...
- [转]Python格式化输出
今天写程序又记不清格式化输出细节了……= =索性整理一下. python print格式化输出. 1. 打印字符串 print ("His name is %s"%("A ...
- Python学习教程(learning Python)--1.2.2 Python格式化输出基础
本节讨论为何要格式化输出数据? 先看一段代码吧,本程序的功能是计算月支付金额. amount_due = 5000.0 #年支付金额 monthly_payment = amount_due / 12 ...
- Python格式化输出%s和%d
python print格式化输出. 1. 打印字符串 print ("His name is %s"%("Aviad")) 效果: 2.打印整数 print ...
随机推荐
- Android 解决ScrollView嵌入ListView | GridView | ScrollView显示问题
一.ScrollView中嵌套ListView ScrollView和ListView都是滚动结构,很明显如果在ScrollView中加入ListView,可以预见性的知道,肯定会有显示/滚动的问题, ...
- BZOJ4735 你的生命已如风中残烛 【数学】
题目链接 BZOJ4735 题解 给定一个序列,有的位置为\(w_i - 1\),有的位置为\(-1\),问有多少种排列,使得任意前缀和非负? 我们末尾加上一个\(-1\),就是要保证除了末尾外的前缀 ...
- 洛谷 P3539 [POI2012]ROZ-Fibonacci Representation 解题报告
P3539 [POI2012]ROZ-Fibonacci Representation 题意:给一个数,问最少可以用几个斐波那契数加加减减凑出来 多组数据10 数据范围1e17 第一次瞬间yy出做法, ...
- HikariPool-1 - Connection is not available, request timed out after XXXXms.
hikaripool-0-连接不可用,请求在30000ms之后超时.意思是池等待30000ms的免费连接,但是您的应用程序没有返回任何连接. 原因一:连接泄漏(在从池中借用之后连接没有关闭).解决方法 ...
- Hbase(五) hbase内部原理
一.系统架构 客户端连接hbase依赖于zookeeper,hbase存储依赖于hadoop client: 1.包含访问 hbase 的接口, client 维护着一些 cache(缓存) 来加快对 ...
- UESTC--1727
原题链接:http://acm.uestc.edu.cn/problem.php?pid=1727 分析:用 l[i] 记录第 i 层楼有多少物品需要往上继续搬运,如果某层楼没有物品,但是更上面还有, ...
- 04-树5. File Transfer--并查集
对于一个集合常见的操作有:判断一个元素是否属于一个集合:合并两个集合等等.而并查集是处理一些不相交集合(Disjoint Sets)的合并及查询问题的有利工具. 并查集是利用树结构实现的.一个集合用一 ...
- 04-树4. Root of AVL Tree-平衡查找树AVL树的实现
对于一棵普通的二叉查找树而言,在进行多次的插入或删除后,容易让树失去平衡,导致树的深度不是O(logN),而接近O(N),这样将大大减少对树的查找效率.一种解决办法就是要有一个称为平衡的附加的结构条件 ...
- 洛谷P1588 丢失的牛
P1588 丢失的牛 158通过 654提交 题目提供者JOHNKRAM 标签USACO 难度普及/提高- 时空限制1s / 128MB 提交 讨论 题解 最新讨论更多讨论 答案下载下来是对的,但 ...
- 【题解】Popping Balls AtCoder Code Festival 2017 qual B E 组合计数
蒟蒻__stdcall终于更新博客辣~ 一下午+一晚上=一道计数题QAQ 为什么计数题都这么玄学啊QAQ Prelude 题目链接:这里是传送门= ̄ω ̄= 下面我将分几个步骤讲一下这个题的做法,大家不 ...