[ python ] 格式化输出、字符集、and/or/not 逻辑判断

格式化输出

  %: 占位符

    s: 字符串

    d: 数字

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

 

实例:

1
2
3
4
5
6
7
8
9
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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

1
2
3
4
5
6
7
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 正好相反

1
2
3
4
5
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 == '123':
        print('登录成功.')
        break
    else:
        print('用户名密码不正确,请重试。')
        count += 1
    if count == 3:
        print('登录验证超过三次,登录失败.')
        break
作业题答案
复制代码

 

本文作者:hukey

本文链接:https://www.cnblogs.com/hukey/p/9608873.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   hukey  阅读(849)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
  1. 1 彩虹 Jay
彩虹 - Jay
00:00 / 00:00
An audio error has occurred.

彩虹 + 轨迹 (Live) - 周杰伦 (Jay Chou)

彩虹

词:周杰伦

曲:周杰伦

哪里有彩虹告诉我

哪里有彩虹告诉我

能不能把我的愿望还给我

能不能把我的愿望还给我

为什么天这么安静

为什么天这么安静

所有的云都跑到我这里

有没有口罩一个给我

有没有口罩一个给我

释怀说了太多就成真不了

释怀说了太多就成真不了

也许时间是一种解药

也许时间是一种解药

也是我现在正服下的毒药

也是我现在正服下的毒药

看不见你的笑 我怎么睡得着

看不见你的笑 我怎么睡得着

你的声音这么近我却抱不到

你的声音这么近我却抱不到

没有地球太阳还是会绕

没有地球太阳还是会绕

没有理由我也能自己走

没有理由我也能自己走

你要离开 我知道很简单

你要离开 我知道很简单

你说依赖 是我们的阻碍

你说依赖 是我们的阻碍

就算放开 但能不能别没收我的爱

就算放开 但能不能别没收我的爱

当作我最后才明白

当作我最后才明白

看不见你的笑 要我怎么睡得着

看不见你的笑 要我怎么睡得着

你的声音这么近我却抱不到

没有地球太阳还是会绕 会绕

没有理由我也能自己走掉

释怀说了太多就成真不了

也许时间是一种解药 解药

也是我现在正服下的毒药

轨迹

词:黄俊郎

曲:周杰伦

我会发着呆然后忘记你

接着紧紧闭上眼

想着哪一天 会有人代替

想着哪一天 会有人代替

让我不再想念你

我会发着呆 然后微微笑

我会发着呆 然后微微笑

接着紧紧闭上眼

又想了一遍 你温柔的脸

又想了一遍 你温柔的脸

在我忘记之前