191012 python3关于空格打印、赋值、+=符号的小坑
1. python3中,直接打印空格不显示,不论是pycharm,cmd命令窗口,还是linux中,都有尝试,但是空格' '不能显示出来:
# 打印菱形,只能用center方法
for i in range(0,5):
for y in range(0,5-i):
w = ' '
print(w,end="")
s = '* ' * i
print(s)
for i in range(0,5):
for x in range(0,i):
w = ' '
print(w, end="")
t = '* ' * (5-i)
print(t)

2. a,b=b,a+b(a,b会随循环变动)不等同a=b,b=a+b(a,b会随循环固定)举例:
2.1代码
a,b,s = 2.0, 1.0, 0.0
for i in range(5):
s += a/b
b= a
a = a+b
print(s,'\t',end='')
print()
执行结果:2.0 4.0 6.0 8.0 10.0
在2.1这里可以修改代码,加入一个变量(如果不加,a,b就被当作不可变量),也可以达到想要的效果:
a,b,s = 2.0, 1.0, 0.0
for i in range(5):
s += a/b
t = a
a = a+b
b = t
print(s,'\t',end='')
print()
执行结果:2.00 3.50 5.17 6.77 8.39
2.2代码
a,b,s = 2.0, 1.0, 0.0
for i in range(5):
s += a/b
b,a= a,b+a # 相当于 t=(a,a+b),b=t[0],a=t[1]
print('%.2f\t'%s,end='')
print()
执行结果:2.00 3.50 5.17 6.77 8.39
3 s+=i不等同于s=s+i(只针对列表适用,不适用str,set,tuple,int);
与2相似,在某些情况下两个算式是成立的,但也有不成立的情况。
l1 = [i for i in range(3)]
l2 = l1
l2+=[3]
print(l1,l2)
执行结果:[0, 1, 2, 3] [0, 1, 2, 3]
在+=中,与l2相关的内容都发生变动,都被当作可变量;
l1 = [i for i in range(3)]
l2 = l1
l2=l2+[3]
print(l1,l2)
执行结果:[0, 1, 2] [0, 1, 2, 3]
参考链接:https://blog.csdn.net/zxmzhaoxuan/article/details/82465848
191012 python3关于空格打印、赋值、+=符号的小坑的更多相关文章
- Python3安装与使用urllib2包之小坑
Python3 安装urllib2包之小坑 Python3.6.6或者说python3.x找不到urllib2语法问题修改之后,会报一个没有安装urllib2的包的错误. 通过pip install ...
- js赋值符号“=”的小例子
var obj1={x:5}; var obj2=obj1; obj1.a=obj1={x:6}; console.log(obj1.a); console.log(obj2.a); 为什么obj1. ...
- liunx开源打印驱动foo2zjs编译小坑
在编译foo2zjs时出现 ## Dependencies...# *** *** Error: gs is not installed! *** *** Install ghostscript (g ...
- HTML 空格的表示符号 nbsp / ensp / emsp 的区别
HTML 空格的表示符号 nbsp / ensp / emsp 的区别? 半角的不断行的空白格(推荐使用) 半角的空格 全角的空格
- html使用空格的替代符号
替代符号就是在需要显示空格的地方加入替代符号,这些符号会被浏览器解释为空格显示. 空格的替代符号有以下几种: 名称 编号 描述 不断行的空白(1个字符宽度) 半个空白(1个字符宽度) ...
- 【Makefile】Makefile中的赋值符号=、:=、?=、+=
Makefile中主要有四个赋值符号: = 是最基本的赋值:= 是覆盖之前的值?= 是如果没有被赋值过就赋予等号后面的值+= 是添加等号后面的值 1.“=” “=”赋值:make会将整个makefil ...
- JS规则 保持先后顺序(操作符优先级)操作符之间的优先级(高到低): 算术操作符 → 比较操作符 → 逻辑操作符 → "="赋值符号
保持先后顺序(操作符优先级) 我们都知道,除法.乘法等操作符的优先级比加法和减法高,例如: var numa=3; var numb=6 jq= numa + 30 / 2 - numb * 3; / ...
- 记一次select2赋值动态数组的坑
var roles = $td.eq(3).text().split(","); var arr = []; //循环去除每个值前后的空格,否则下拉框赋值回显出错for(var i ...
- python3下安装aiohttp遇到过的那些坑
python3下安装aiohttp遇到过的那些坑 最近需要用到aiohttp这个库,在安装过程中遇到很多坑.google.baidu后,依然没有找到合适的解决方案. 后来通过去python官方的PyP ...
随机推荐
- Laya的滚动容器
想实现一个简单的滚动容器.例如水平排列10个图标,可以左右滑动查看的. Egret里有布局容器可以滚动 Laya看了教程和示例,没有找到一个滚动容器,只有一个list,需要设置item,显然不是我想要 ...
- LeetCode_414. Third Maximum Number
414. Third Maximum Number Easy Given a non-empty array of integers, return the third maximum number ...
- python断点
pycharm怎么debug单步调试 1.打开一个Pycharm的界面,需要选中编辑器中的左侧. 2.点击Run---->Debug运行 3.点击箭头,向下运行 4.可以看到代码运行到下一条 5 ...
- MySQL 中的共享锁和排他锁的用法
在 MySQL 中的行级锁.表级锁和页级锁中,咱们介绍过,行级锁是 MySQL 中锁定粒度最细的一种锁,行级锁能大大减少数据库操作的冲突.行级锁分为共享锁和排他锁两种,本文将详细介绍共享锁和排他锁的概 ...
- 自己实现简单版的注解Mybatis
Mybatis属于ORM(Object Relational Mapping)框架,将java对象和关系型数据库建立映射关系,方便对数据库进行操作,其底层还是对jdbc的封装. 实现的思路是: 1 定 ...
- liunx 定时任务执行java程序配置流程
java jar包使用build fat jar进行打包 ------------------liunx任务创建--------------------------- 1.查看现有任务计划: cron ...
- [HAOI2015]树上操作 题解
题目描述 有一棵点数为 N 的树,以点 1 为根,且树点有边权.然后有 M 个操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a . 操作 2 :把某个节点 x 为根的子树中所有点的点权都增 ...
- 宁夏网络赛-F-Moving On
https://www.cnblogs.com/31415926535x/p/11440395.html 一道简单的Floyd题,,但是是动态加点求多次有限制的最短路,,感觉这个思想很好,,当然可以直 ...
- PAT(B) 1090 危险品装箱(Java)
题目链接:1090 危险品装箱 (25 point(s)) 题目描述 集装箱运输货物时,我们必须特别小心,不能把不相容的货物装在一只箱子里.比如氧化剂绝对不能跟易燃液体同箱,否则很容易造成爆炸. 本题 ...
- 【Linux】一步一步学Linux——初识Linux命令解析器(10)
目录 00. 目录 01. Shell简介 02. Shell分类 03. 交互式shell和非交互式shell 04. 登录shell和非登录shell 05. Shell类型 06. 参考 00. ...