简单的 if 语句:
if 条件:
执行
当“条件”为真时,开始执行内容
例子:
a=18
if a>=10:
print('a:',a)
print('True')
输出:
a: 18
True
if 条件:
执行内容1
else :
执行内容2
当“条件”为真时,执行内容1,否则,执行内容2(else的内容)
例子:
a=18
if a>20:
print('a:',a)
else:
print('a小于20')
输出:
a小于20
可以做更精确的判断
if 条件1:
执行内容1
elif 条件2:
执行内容2
else :
执行内容3
当“条件1”为真时,执行内容1;否则,判断“条件2”是否为真,若为真,执行内容2(elif的内容);若条件1和条件2均为假,执行内容3
例子:
a=18
if a>20:
print('a:',a)
elif 0<a<20:
print('a大于0小于20')
else:
print('a')
注意:
if 后接的条件,如果是None、[]、’’、0,都是默认False,内容是不执行的。
for循环主要的作用是迭代和重复操作
list1=['张三','李二','刘四']
for item in list1:
print(item)
输出:
张三
李二
刘四
a=0
for i in range(1,101):
a=a+i
#a+=i
print(a)
输出:5050
dict1={
'张三':89,
'李四': 28,
'王五': 79}
for name,score in dict1.items():
print(name,score)
print('--')
for i in range(1,10):
for j in range(1,i+1):
print('{a}*{b}={c}'.format(a=j,b=i,c=i*j),
end='\t') #空4个空格
print()
设置条件,满足条件时,进行循环,不满足时退出循环
n=1
while n<=5:
print(n)
n=n+1
print('END')
输出:
1
2
3
4
5
END
注意点:
可以for循环的对象统称为 可迭代对象:Iterable
有集合数据类型,如list、tuple、dict、set、str等
还有generateor(绝大多数场景用不到,除非为了提升运算效率)
如果程序中遇到错误Error,使用try-except 可以让程序在错误所在代码行停止,错误后面的代码将无法执行。
a=10
list1=[1,2,3,5,6,7,0,9]
for i in list1:
try:
print(a,i,a/i)
except:
pass #会跳过分母为0的计算
列表生成式可以简化代码语句,使代码更具有可读性
之前的一篇也有写,这里再提一嘴
d = {
'x': 'A',
'y': 'B',
'z': 'C' }
如何将d中的 键值对 拼接,输出为
['xA', 'yB', 'zC]
操作:
#使用for循环
for i,j in d.items():
print(i,j)
result.append(i+j)
#使用列表生成式
[i+j for i,j in d.items()]
#或
[item[0]+item[1] for item in d.items()]
两种函数:
注意函数一定是有返回值return的,区分for循环
def functionname(param):
dosomething
return something
例子:求绝对值函数
def abs_num(x):
if x>=0:
return x
else:
return -x
abs_num(-10)
输出:10
与列表生成式一样,也是简化形式
function1=lambda x: x**2
function2=lambda x:x if x>=0 else -x
eval(‘表达式字符串’)
a = 5
b = 10
'a+b'
输出:‘a+b’
#eval功能
a = 5
b = 10
eval('a+b')
输出:15
def my_mean(x):
result = 0
for i in x:
result = result + i
return result/len(x)
eval('my_mean([1, 2, 3, 4])')
输出:2.5
enumerate()
列表索引操作,得到列表内部每个元素及其对应的索引值(排位值)
enumerate(['张三', '李四', '王五'])
输出:
list(enumerate(['张三', '李四', '王五']))
输出:
[(0, ‘张三’), (1, ‘李四’), (2, ‘王五’)]
再次膜拜计算机与数学大佬,对于编程小白来说,代码好难…逻辑好难…哭泣