前言
最近想要转行做AI产品经理,之前没有接触过代码,在网上搜了一个0基础python入门教程,用了3天时间学完。
感觉还不错,写代码像在玩拼积木游戏,很容易进入心流状态。
总结一下这几天的学习成果。
后续会继续总结爬虫相关内容。
一、尝试了4个案例
- 按输入的数据条件计算工资
- 按输入的分数评级
- 火箭发射的倒计时
- 选出最大/最小的值
二、代码示例
1.按输入的数据条件计算工资
代码如下(示例):
def computepay(hour,rate):
if hour<=40:
return hour*rate
else:
return (hour-40)/2*rate+hour*rate
hour=input("your work hour")
rate=input("your rate")
hour=float(hour)
rate=float(rate)
print("Pay",computepay(hour,rate))
2.按分数评级
代码如下(示例):
score=input("enter score 0.0 between 1.0")
try:
score=float(score)
except:
print("error")
if 0.9 <=score<=1.0:
print("A")
elif 0.8<=score:
print("B")
elif 0.7<=score:
print("C")
elif 0.6<=score:
print("D")
elif score<0.6:
print("F")
else:
print("输入成绩不正确")
3.倒计时发射
代码如下(示例):
n=5
while n>=0:
print(n)
n=n-1
print("发射")
4.选出最大值和最小值
代码如下(示例):
smallest=None
largest=None
while True:
value=input("请输入数字/done")
if value=="done":
break
if value!="done":
try:
value=int(value)#变成整数也要用等号
if smallest is None:
smallest=value
elif smallest>value:
smallest=value
if largest is None:
largest=value
elif largest<value:
largest=value
except:
print("Invalid input")
continue
print("Maximum is",largest)
print("Minimum is",smallest)
三、难点
- 比较难懂容易绕的地方是while循环语句
while是indefinite循环,一直要到任务执行完成才会停止
(1)while自身条件不满足了,结束。
n=5
while n>=0
print(n)
n=n-1
print("发射")
(2)使用break停止while循环,while True 是一直循环的意思。
True/False/None都是内置常量,开头需要大写
while True
line=input("请输入")
if line=="done"
break
print(line)
print("done")
(3)如果用户输入了不满意的答案,使用continue 让他重新输入
while True:
line = input("请输入")
if line[0]=="#":
continue
if line=="DONE":
break
print (line)
print("DONE!")
- for循环和while 循环的不同是,for是有限循环语句,功能是遍历列表里的内容,想要找到某个内容可以用“布尔函数” ,要比较大小,可以预设空值None
smallest=None
for value in [0,1,2,3,5,8]:
if smallest is None:
smallest=value
elif smallest>value:
smallest=value
print("smallest:",smallest)
此外,还学了调试代码:try、except
除了input(),print()等内置函数,python也可以用def自定义函数,方便调用
def本身并不执行命令,需要在代码不同位置调用
def如果是计算函数块,返回数值用return
def add(a,b):
add=a+b
return add
print(add(3,5))
一些奇怪的运算符
加减乘除:+ - * /
除余符号:100%3除余1
指数符号:2**3=8
()在运算中优先级最高
字符、整数、小数之间可以互相转换,input()输入的默认是字符,如果需要运算需要用int()或者float()转换
转为整数:int()
保留小数:float()
转化为字符:string()
if…else与if…elif…elif…else
后者只有在第一个if为False的时候才会执行后面的elif
而if…if…else中的else 只跟最后一个if条件判断有关