重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
没有优雅的方法解决,只有不要使用print语句,如楼上所说,或者使用python3.X中的print函数(通过
成都创新互联是一家专注于网站制作、做网站与策划设计,特克斯网站建设哪家好?成都创新互联做网站,专注于网站建设10余年,网设计领域的专业建站公司;建站业务涵盖:特克斯等地区。特克斯做网站价格咨询:18982081108
from __future__ import print_function使能print函数形式)
其实,在python2.X手册中对print语句描述说:(python2.7.2官方帮助文档)
一个空格会被自动打印在每个对象前,
除非:(1)还没有输出写到标准输出中
(2)当最后一个写到标准输出的是一个除了空格‘ ’的空白字符
(3)当最后写到标准输出的不是一个print语句。
所以在apple、banana等每个字符前都有一个空格。(apple的a前也有空格呢!)
一个好的解决办法是使用python3.X中的print函数。
通过在文件前面加上:
from __future__ import print_function
就可以使用print的函数形式了。
print函数的语法:
print([object, ...][, sep=' '][, end='\n'][, file=sys.stdout])
默认下,若没有指定sep,则使用空格。没指定end,则使用换行符。没指定输出文件则输出到标准输出。
例如:print('hello','world',sep='-',end='#')输出:
hello-world#
所以,你的程序可改为:
from __future__ import print_function
list = ["apple", "banana", "grape", "orange"]
for x in range(len(list)):
print('list[%d]:'%x,end='')
for y in range(len(list[x])):
print(list[x][y],sep='',end='')
print('')
至于: 'list[%d]:'%x 这里的百分号,是一个对字符串的操作符。百分号使得百分号前面的字符串中
的%d被百分号后的x的值替换掉。
python for i in range是用来for循环遍历的。python中range 是个函数,range() 函数可创建一个整数列表,python中用来在for循环中遍历。
用法如: for i in range (1,3)。语法格式:range(start, stop[, step]),分别是起始、终止和步长。
range()函数返回的对象的行为都很像一个列表,但是它确实不是一个列表,它只是在循环迭代的情况下返回指定索引的值,但是它并不会在内存中真正产生一个列表对象,这样也是为了节约内存空间。实际用法分以下几种情况:
for in range(3)即:从0到3,不包含3,即0,1,2。
2.for in range(1,3) 即:从1到3,不包含3,即1,2。
3.for in range(1,3,2)即:从1到3,每次增加2,因为1+2=3,所以输出只有1
第三个数字2是代表步长。如果不设置,就是默认步长为1。
python中range循环的用法 for i in range()括号中能跟3种形式:
1、range(10),等于[0,1,2,3,4,5,6,7,8,9]
2、range(1,9),等于[1,2,3,4,5,6,7,8]
3、range(1,9,2),等于[1,3,5,7]
扩展资料:
python for i in range是用来for循环遍历的。
python中range 是个函数,range() 函数可创建一个整数列表,python中用来在for循环中遍历。
用法如: for i in range (1,3)。语法格式:range(start, stop[, step]),分别是起始、终止和步长。
参考资料来源:百度百科-Python (计算机程序设计语言)
第一个图中,在执行 print(bianli__str('sjsjsj'))这句时,首先执行print括号中的内容,即进入bianli__str函数,执行了函数中的print语句,打印的内容是字符串的每一个字符,然后退出函数,执行print这个操作,print的内容是你定义的函数,这个函数本身是没有值的,所以是None
解决的方法就是调用函数的时候不用再print了,如下图:
第二个图中结果不对是因为return就会退出函数,所以打完第一个字符后就退出了