Python习题笔记
字符串拼接。
接受用户输入的两个字符串,将它们组合后输出。
str1=input("请输入一个人的名字:")
str2=input("请输入一个国家的名字:")
print("世界这么大,{}想去{}看看".format(str1,str2))
知识点:
1.input( ),括号内可加
" "
,对用户输入进行提示。2.format格式化函数:
print("xxxx{},xxxx{}".format(str1,str2))
不设置指定位置,按默认顺序
>>> "{1} {0} {1}".format("hello", "world")# 设置指定位置
'world hello world'
整数序列求和 用户输入一个正整数N,计算从1到N(包含1到N)相加之后的结果。
N = input("请输入一个正整数")
sum=0
for i in range(int(N)):
sum=sum+i
print("sum = ",sum)
知识点:
1.range( )函数:
range(start, stop[, step]) stop不包含stop本身的数字
range(10)从0到9
range(1,11)从0到10
range(0, 10, 3)从0到9,步长为 3:
0 3 6 9
range(0, -10, -1) 负数:
[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计算1+2!+3!+···+10!
sum,tmp=0,1
for i in range(1,11):
tmp*=i
sum+=tmp
print("sum={}".format(sum))
知识点:
1.python也可以进行+= *=操作
猴子吃桃 猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第5天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
n=1
for i in range(1,5):
n=(n+1)<<1
print(n)
思路:n开始为1,过了几天,n就要加1再乘2几次
知识点:
1.
n<<1
意思为n*2的1次方健康食谱输出 列出5种不同食材,输出它们可能组成的所有菜式名称
diet=['西红柿','花椰菜','黄瓜','大白菜','胡萝卜']
for x in diet:
for y in diet:
if(x!=y):
print("{}and{}".format(x,y))
知识点:
1.
diet=['西红柿','花椰菜','黄瓜','大白菜','胡萝卜']
是一个列表list1.数据类型和变量
请打印出以下变量的值:
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.字符串和编码
小明的成绩从去年的72分提升到了今年的85分,请计算小明成绩提升的百分点,并用字符串格式化显示出
'xx.x%'
,只保留小数点后1位:r=(s2-s1)/s1
print('{:.1%}'.format(r))
1.使用format保留一位小数:'{:.1}'.format(r)
转换成百分数形式并保留一位小数:{:.1%}.format(r)
r = (s2-s1)/s1*100
print('%.1f%%' % r)
1.若想输出%,则需要在%前加%。3.list和tuple 请用索引取出下面list的指定元素:%%
2.%.nf
,保留n位小数。
print('%.1f%%' % r)
:r前的%分界,后面按顺序跟随变量。
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。请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数:
低于18.5:过轻
18.5-25:正常
25-28:过重
28-32:肥胖
高于32:严重肥胖
用
if-elif
判断并打印结果:height = 1.75
weight = 80.5
bmi = weight/(height*height)
if bmi<18.5:
print('过轻')
elif 18.5<=bmi<=25:
print('正常')
elif 2532:
print('严重肥胖')
知识点:
1.条件判断:
if...elif...else...
5.调用函数 利用Python内置的hex()函数把一个整数转换成十六进制表示的字符串:
n1 = 255
n2 = 1000
print(hex(n1))
print(hex(n2))
知识点:
1.hex()函数:返回整数对应得十六进制
6.定义函数 请定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程 ax^2+bx+c=0ax2+bx+c=0 的两个解。
提示:
计算平方根可以调用math.sqrt()函数:
>>> 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
知识点:
1.import math:导入math类
2.math.sqrt(n):对n开方
3.b**2:b的平方
4.定义函数:def function( )
7.函数的参数 以下函数允许计算两个数的乘积,请稍加改造,变成可接收一个或多个数并计算乘积:
def product(x, *numbers):
tmp = x
for n in numbers:
tmp = tmp * n
return tmp
知识点:
1.位置参数:
power(x,n)
:必须传入的参数2.默认参数:
power(x,n=2)
:若不传入,则为默认值,若传入,则为传入值。3.可变参数:
power(*x,n)
:允许传入0个或任意个参数,函数调用时自动组装成一个tuple。4.关键字参数:
**other
:允许传入0个或任意个含参数名的参数,关键字参数在函数内部自动组装成一个dict。5.命名关键字参数:如果要限制关键字参数的名字,就可以用命名关键字参数。命名关键字参数需要一个特殊分隔符
*
,*
后面的参数被视为命名关键字参数。8.切片 利用切片操作,实现一个trim()函数,去除字符串首尾的空格:
def trim(s):
if s[:1] is ' ':
return trim(s[1:])
elif s[-1:] is ' ':
return trim(s[:-1])
else:
return s
思路:运用递归函数,先对前段进行处理,每次判断字符串首位是否为空格,若为空格,则更新字符串为第2个字符后的内容;再对后段进行处理,每次判断字符串末位是否为空格,若为空格,则更新字符串为倒数第2个字符前的内容。
知识点:
1.
L[:10]
:前10个数2.
L[-10:]
:后10个数3.
L[:10:2]
:前10个数,每2个取一个4.
L[-1]
:倒数第一个9.迭代 请使用迭代查找一个list中最小和最大值,并返回一个tuple:
def imimi(L):
while len(L)!=0:
Max=Min=L[0]
for x in L:
if x >=Max:
Max=x
if x
感想:python确实简便,但我居然有些不习惯,用python一定要注意格式!感觉又进入了之前的死胡同了,感觉一样的代码,别人的就能ac,我的就老是有错误,多多练习!
10.列表生成器 字符串变小写且只保留字符串
L1 = ['Hello', 'World', 18, 'Apple', None]
L2 = [s.lower() for s in L1 if isinstance(s,str) == True]
【Python习题笔记】知识点:
1.
.lower()
:将字符串变成小写的函数2.
isinstance(s,str)
:判断s是否为str类型3.
...for s in L...
:for前面可以添加操作,L后可以添加条件判断推荐阅读
- EffectiveObjective-C2.0|EffectiveObjective-C2.0 笔记 - 第二部分
- python学习之|python学习之 实现QQ自动发送消息
- Android中的AES加密-下
- 【生信技能树】R语言练习题|【生信技能树】R语言练习题 - 中级
- 逻辑回归的理解与python示例
- python自定义封装带颜色的logging模块
- 【Leetcode/Python】001-Two|【Leetcode/Python】001-Two Sum
- 【读书笔记】贝叶斯原理
- 【韩语学习】(韩语随堂笔记整理)
- Python基础|Python基础 - 练习1