字符串拼接穆役。
接受用戶輸入的兩個(gè)字符串,將它們組合后輸出梳凛。
str1=input("請(qǐng)輸入一個(gè)人的名字:")
str2=input("請(qǐng)輸入一個(gè)國(guó)家的名字:")
print("世界這么大耿币,{}想去{}看看".format(str1,str2))
知識(shí)點(diǎn):
1.input( ),括號(hào)內(nèi)可加" "
韧拒,對(duì)用戶輸入進(jìn)行提示淹接。
2.format格式化函數(shù):print("xxxx{},xxxx{}".format(str1,str2))
不設(shè)置指定位置,按默認(rèn)順序
>>> "{1} {0} {1}".format("hello", "world") # 設(shè)置指定位置
'world hello world'
整數(shù)序列求和
用戶輸入一個(gè)正整數(shù)N叛溢,計(jì)算從1到N(包含1到N)相加之后的結(jié)果塑悼。
N = input("請(qǐng)輸入一個(gè)正整數(shù)")
sum=0
for i in range(int(N)):
sum=sum+i
print("sum = ",sum)
知識(shí)點(diǎn):
1.range( )函數(shù):
range(start, stop[, step]) stop不包含stop本身的數(shù)字
range(10)從0到9
range(1,11)從0到10
range(0, 10, 3)從0到9,步長(zhǎng)為 3: 0 3 6 9
range(0, -10, -1) 負(fù)數(shù):[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
九九乘法表輸出
for i in range(1,10):
for j in range(1,i+1):
print("{}*{}={}".format(i,j,i*j),end=' ')
print('\n')
1.4計(jì)算1+2!+3!+···+10!
sum,tmp=0,1
for i in range(1,11):
tmp*=i
sum+=tmp
print("sum={}".format(sum))
知識(shí)點(diǎn):
1.python也可以進(jìn)行+= *=操作
猴子吃桃
猴子第一天摘下若干個(gè)桃子楷掉,當(dāng)即吃了一半厢蒜,還不癮,又多吃了一個(gè)第二天早上又將剩下的桃子吃掉一半烹植,又多吃了一個(gè)斑鸦。以后每天早上都吃了前一天剩下的一半零一個(gè)。到第5天早上想再吃時(shí)草雕,見只剩下一個(gè)桃子了巷屿。求第一天共摘了多少。
n=1
for i in range(1,5):
n=(n+1)<<1
print(n)
思路:n開始為1墩虹,過了幾天嘱巾,n就要加1再乘2幾次
知識(shí)點(diǎn):
1.n<<1
意思為n*2的1次方
健康食譜輸出
列出5種不同食材,輸出它們可能組成的所有菜式名稱
diet=['西紅柿','花椰菜','黃瓜','大白菜','胡蘿卜']
for x in diet:
for y in diet:
if(x!=y):
print("{}and{}".format(x,y))
知識(shí)點(diǎn):
1.diet=['西紅柿','花椰菜','黃瓜','大白菜','胡蘿卜']
是一個(gè)列表list
1.數(shù)據(jù)類型和變量
請(qǐng)打印出以下變量的值:
n = 123
f = 456.789
s1 = 'Hello, world'
s2 = 'Hello, 'Adam''
s3 = r'Hello, "Bart"'
s4 = r'''Hello,
Lisa!''
print(123)
print(456.789)
print('Hello, world')
print('Hello, \'Adam\'')
print('Hello, "Bart"')
print('Hello,\nLisa!')
123
456.789
Hello, world
Hello, 'Adam'
Hello, "Bart"
Hello,
Lisa!
2.字符串和編碼
小明的成績(jī)從去年的72分提升到了今年的85分诫钓,請(qǐng)計(jì)算小明成績(jī)提升的百分點(diǎn)旬昭,并用字符串格式化顯示出'xx.x%'
,只保留小數(shù)點(diǎn)后1位:
r=(s2-s1)/s1
print('{:.1%}'.format(r))
1.使用format保留一位小數(shù):
'{:.1}'.format(r)
轉(zhuǎn)換成百分?jǐn)?shù)形式并保留一位小數(shù):{:.1%}.format(r)
r = (s2-s1)/s1*100
print('%.1f%%' % r)
1.若想輸出%尖坤,則需要在%前加%稳懒。
%%
2.%.nf
,保留n位小數(shù)慢味。
print('%.1f%%' % r)
:r前的%分界场梆,后面按順序跟隨變量。
3.list和tuple
請(qǐng)用索引取出下面list的指定元素:
L = [
['Apple', 'Google', 'Microsoft'],
['Java', 'Python', 'Ruby', 'PHP'],
['Adam', 'Bart', 'Lisa']
]
# 打印Apple:
print(L[0][0])
# 打印Python:
print(L[1][1])
# 打印Lisa:
print(L[2][2])
4.條件判斷
小明身高1.75纯路,體重80.5kg或油。請(qǐng)根據(jù)BMI公式(體重除以身高的平方)幫小明計(jì)算他的BMI指數(shù),并根據(jù)BMI指數(shù):
低于18.5:過輕
18.5-25:正常
25-28:過重
28-32:肥胖
高于32:嚴(yán)重肥胖
用if-elif
判斷并打印結(jié)果:
height = 1.75
weight = 80.5
bmi = weight/(height*height)
if bmi<18.5:
print('過輕')
elif 18.5<=bmi<=25:
print('正常')
elif 25<bmi<=28:
print('肥胖')
elif bmi>32:
print('嚴(yán)重肥胖')
知識(shí)點(diǎn):
1.條件判斷:if...elif...else...
5.調(diào)用函數(shù)
利用Python內(nèi)置的hex()函數(shù)把一個(gè)整數(shù)轉(zhuǎn)換成十六進(jìn)制表示的字符串:
n1 = 255
n2 = 1000
print(hex(n1))
print(hex(n2))
知識(shí)點(diǎn):
1.hex()函數(shù):返回整數(shù)對(duì)應(yīng)得十六進(jìn)制
6.定義函數(shù)
請(qǐng)定義一個(gè)函數(shù)quadratic(a, b, c)驰唬,接收3個(gè)參數(shù)顶岸,返回一元二次方程 ax^2+bx+c=0ax2+bx+c=0 的兩個(gè)解腔彰。
提示:
計(jì)算平方根可以調(diào)用math.sqrt()函數(shù):
>>> import math
>>> math.sqrt(2)
1.4142135623730951
import math
def quadratic(a, b, c):
l = math.sqrt(b**2-4*a*c)
m = (-b+l)/(2*a)
n = (-b-l)/(2*a)
return m,n
知識(shí)點(diǎn):
1.import math:導(dǎo)入math類
2.math.sqrt(n):對(duì)n開方
3.b**2:b的平方
4.定義函數(shù):def function( )
7.函數(shù)的參數(shù)
以下函數(shù)允許計(jì)算兩個(gè)數(shù)的乘積,請(qǐng)稍加改造辖佣,變成可接收一個(gè)或多個(gè)數(shù)并計(jì)算乘積:
def product(x, *numbers):
tmp = x
for n in numbers:
tmp = tmp * n
return tmp
知識(shí)點(diǎn):
1.位置參數(shù):power(x,n)
:必須傳入的參數(shù)
2.默認(rèn)參數(shù):power(x,n=2)
:若不傳入霹抛,則為默認(rèn)值,若傳入卷谈,則為傳入值杯拐。
3.可變參數(shù):power(*x,n)
:允許傳入0個(gè)或任意個(gè)參數(shù),函數(shù)調(diào)用時(shí)自動(dòng)組裝成一個(gè)tuple世蔗。
4.關(guān)鍵字參數(shù):**other
:允許傳入0個(gè)或任意個(gè)含參數(shù)名的參數(shù)端逼,關(guān)鍵字參數(shù)在函數(shù)內(nèi)部自動(dòng)組裝成一個(gè)dict。
5.命名關(guān)鍵字參數(shù):如果要限制關(guān)鍵字參數(shù)的名字污淋,就可以用命名關(guān)鍵字參數(shù)顶滩。命名關(guān)鍵字參數(shù)需要一個(gè)特殊分隔符*
,*
后面的參數(shù)被視為命名關(guān)鍵字參數(shù)寸爆。
8.切片
利用切片操作礁鲁,實(shí)現(xiàn)一個(gè)trim()函數(shù),去除字符串首尾的空格:
def trim(s):
if s[:1] is ' ':
return trim(s[1:])
elif s[-1:] is ' ':
return trim(s[:-1])
else:
return s
思路:運(yùn)用遞歸函數(shù)而昨,先對(duì)前段進(jìn)行處理救氯,每次判斷字符串首位是否為空格,若為空格歌憨,則更新字符串為第2個(gè)字符后的內(nèi)容;再對(duì)后段進(jìn)行處理墩衙,每次判斷字符串末位是否為空格务嫡,若為空格,則更新字符串為倒數(shù)第2個(gè)字符前的內(nèi)容漆改。
知識(shí)點(diǎn):
1.L[:10]
:前10個(gè)數(shù)
2.L[-10:]
:后10個(gè)數(shù)
3.L[:10:2]
:前10個(gè)數(shù)心铃,每2個(gè)取一個(gè)
4.L[-1]
:倒數(shù)第一個(gè)
9.迭代
請(qǐng)使用迭代查找一個(gè)list中最小和最大值,并返回一個(gè)tuple:
def imimi(L):
while len(L)!=0:
Max=Min=L[0]
for x in L:
if x >=Max:
Max=x
if x <Min:
Min=x
return (Min,Max)
return(None,None)
感想:python確實(shí)簡(jiǎn)便挫剑,但我居然有些不習(xí)慣去扣,用python一定要注意格式!感覺又進(jìn)入了之前的死胡同了樊破,感覺一樣的代碼愉棱,別人的就能ac,我的就老是有錯(cuò)誤哲戚,多多練習(xí)奔滑!
10.列表生成器
字符串變小寫且只保留字符串
L1 = ['Hello', 'World', 18, 'Apple', None]
L2 = [s.lower() for s in L1 if isinstance(s,str) == True]
知識(shí)點(diǎn):
1..lower()
:將字符串變成小寫的函數(shù)
2.isinstance(s,str)
:判斷s是否為str類型
3....for s in L...
:for前面可以添加操作,L后可以添加條件判斷