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 ...
随机推荐
- 【Redis】Redis 发布订阅
Redis 发布订阅介绍 Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. Redis 客户端可以订阅任意数量的频道. 下图展示了频道 c ...
- Blob/DataURL/canvas/image的相互转换
函数都比较简单,直接看就ok了 /*-----------------------------------------------------------------------*/ // canva ...
- 存储Flash--NOR flash和 Nand flash
flash是存储芯片的一种,通过特定的程序可以修改里面的数据.FLASH在电子以及半导体领域内往往表示Flash Memory的意思,即平时所说的“闪存”,全名叫Flash EEPROM Memory ...
- SpringBoot系列教程web篇之Freemaker环境搭建
现在的开发现状比较流行前后端分离,使用springboot搭建一个提供rest接口的后端服务特别简单,引入spring-boot-starter-web依赖即可.那么在不分离的场景下,比如要开发一个后 ...
- 微信小程序之自定义导航栏(可实现动态添加)以及swiper(swiper-item)实现自动切换,导航标题也跟着切换
<view class="movie-container"> <!-- 导航栏 --> <view > <scroll-view scro ...
- PHP 获取星期
<?php function getWeek($time = 0) { $week_array=array('日', '一', '二', '三', '四', '五', '六'); //先定义一个 ...
- 21 javaweb开发--bug调试技巧
1.当修改代码后,测试时没有任何效果 解决方案:换个浏览器试试,可能是浏览器缓存的原因.
- laravel迁移文件中字段方法对应的数据库类型
/* *Blueprint类中的方法方法 <-> 数据库数据类型 * */ // 数字 increments();// int(10) unsigned primarykey auto_i ...
- go build、go install、go get命令详解
(内容凌乱,日后整理!) 原文链接:https://blog.csdn.net/zhangliangzi/article/details/77914943 GO下载: GO语言中文网下载:https: ...
- promethus监控nginx
一.摘要 promethues监控nginx可选两个exporter,通过nginx_exporter主要是获取nginx-status中的内建的指标,nginx自身提供status信息,较为简单,p ...