print()函數
在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!")
input()函數
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() 函數用於將一個字符串或數字轉換爲整型。
以下是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()函數
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個桃子