在Python2.x系列,print是一个保留字,3.x系列print()函数替换了print语句。
两个连续的print()函数输出内容一般会分行显示,即调用print()函数后会换行并结束当前行,那么如何让两个或多个print()函数的输出打印在一行内呢?
我们先看print()函数的定义:
print(*objects, sep=' ', end='\n', file=sys.stdout);
# '#'为Python中的注释标志
#参数意义:
#*objects 复数 表示一次可输出多个对象,用“,”分开
#sep=' ' 用来间隔多个对象,默认值是空格
#end=‘\n' 用来设定以什么方式结尾 默认值是换行符,可以换成其他字符
#file=sys.stdout file:要写入的文件对象
由print()函数的定义可以知道,要想多行内容输出在一行,只需要设置end的值就好了。
例如:
print("Hello",end=' ')
print("World!")
Python3.x版本
input([prompt])
# 参数说明
# 如果[prompt]存在,它被写入标准输出中且没有换行。
然后函数读取输入,将其转换为一个字符串,然后返回。
# 返回类型:
返回类型为String类型
Python2.x版本说明:
使用input和raw_input都可以读取控制台的输入,但是input和raw_input在处理数字时是有区别的
当输入为纯数字时:
input返回的是数值类型,如int,float
raw_inpout返回的是字符串类型,string类型
当输入字符串为表达式
input会计算在字符串中的数字表达式,而raw_input不会。
如输入“1+2”:
input会得到整数3
raw_input会得到字符串”1+2”
input() 相等于 eval(raw_input(prompt))
int() 函数用于将一个字符串或数字转换为整型。
以下是int函数的语法:
class int(x, base=10)
# 参数意义:
# x 字符串或数字
# base 进制数,默认十进制
>>>int(3)
3
>>>int(3.8)
3
>>>int('12',16)
18
返回值:
返回整型数据
数字形式转换
获得用户输入的一个正整数输入,输出该数字对应的中文字符表示。
0到9对应的中文字符分别是:零一二三四五六七八九
示例
输入 123 输出一二三
输入9876543210 输出九八七六五四三二一零
s=['零','一','二','三','四','五','六','七','八','九']
a=input()
i=0
b=len(a) #len()返回a字符串的长度
for b in a: #循环
b=int(a[i]) #int()是把字符a[i]转成数字了
print(s[b],end='') # 这里设置end参数,使输出为一行
i=i+1
range()函数可创建一个整数列表,一般用于for循环中
range()函数的语法如下:
range(start,stop[,step])
# 参数说明
# start:计数从start开始。如果没有设置,默认为0,range(5)相当于range(0,5)
# stop:计数到stop结束,但是不包括stop,range(0,5)即0,1,2,3,4
# step:步长,没有设置时默认为1。步长不能设置为0
>>>range(5)
[0,1,2,3,4]
>>>range(0,5)
[0,1,2,3,4]
>>>range(0,15,5)
[0,5,10]
>>>range(5,0,-1)
[5,4,3,2,1]
例题:
猴子吃桃问题。猴子第一天摘下若干桃子,第一天吃了一半后,又吃了一个,第二题吃了剩下的一半又多吃了一个,在接下来的几天,每天都是吃前一天剩下的一半再多吃一个,到了第五天早上,还剩下1个,问猴子在最开始一共摘了多少桃子?
n=1
for i in range(4,0,-1):
n=(n+1)<<1
print("第一天一共摘了{}个桃子".format(n))
>>第一天一共摘了46个桃子