Python学习之路(第一周)

        走上软件开发之路已经三个年头。我本人是android原生开发出生。期间由于工作的需要以及开发的趋势发展,也走上混合开发的道路,现在主要运用ionic框架进行移动端app的开发。但是未来的互联网发展趋势还是大数据+人工智能。所以现在学习Python就很有必要。这里就不介绍Python语言的优劣了,想具体了解的小伙伴可以自行度娘吧。

好了,直接步入正题。

本博客主要记录自己接下来几个月的Python学习之路,能力有限,期间有什么表达不对的欢迎大家留言区批评指正!

Python版本:Python3.5+

开发工具:pycharm,下载地址:https://www.jetbrains.com/pycharm/

备选工具:anaconda,下载地址:https://www.anaconda.com/download/

anaconda里集成安装了很多python用到的包。很方便后期开发使用。当然对于初学者直接安装Python3.5+就行了。

pycharm是一款很好的python开发工具,网上很多破解的方法。请自行get。


一、开发我们的第一个python程序,"Hello World!"

在安装好python后,打开命令行窗口,输入Python回车,会看到如下信息,此时正式进入python环境。可以直接在此窗口输入代码执行Python程序。

此时输入:

print("Hello World!")

回车就会输出

Hello World!。

也可以在命令窗口执行硬盘里的.py文件。

我们打开Notepad,输入:print("Hello World!"),保存后缀名为.py的文件。

cd到当前.py文件目录。

执行命令即可运行.py文件。

这是命令窗口的简单操作。后面的学习我们主要在pycharm中进行。

二、创建我们的第一个python程序。

打开pycharm,创建第一个python程序。File--New Project

  •  变量

这里就不说变量的命名规范,只需要指出:

python创建变量不需要指定类型。例如我们创建一个python变量只需:

name="dingshuangdian"

age=18

print("My name is",name,"My age is",age)

 

print连续输出多个字符串之间用","隔开。

  • 用户输入(input)

 

name=input("name:")
age=input("age:")
job=input("job:")
salary=input("salary:")

格式化拼接输出:

  1、第一种方式

info='''
--------------- info of %s ---------------
Name:%s
Age:%s
Job:%s
Salary:%s
'''%(name,name,age,job,salary)
print(info)

这里注意,%(name,name,age,job,salary)必须与定义的格式一一对应,

%s表示String类型。如果Age定义为%d,则表示Age只能接受整型。

此时,age=input("age:")(默认输入为字符串,可通过print(type())显示变量类型)需要先转换为整型。

即:age=int(input("age:"))

  2、第二种方式

info2='''
--------------- info of {_name} ---------------
Name:{_name}
Age:{_age}
Job:{_job}
Salary:{_salary}
'''.format(_name=name,_age=age,_job=job,_salary=salary)
print(info2)

  3、第三种方式
info3='''
--------------- info of {0} ---------------
Name:{0}
Age:{1}
Job:{2}
Salary:{3}
'''.format(name,age,job,salary)
print(info3)

这三种格式化输出效果是一样的,这里建议使用第二种。

input密码密文输入方式:导入官方的包getpass

import getpass
password=getpass.getpass("password:")
保存为.py文件,使用命令运行,可以看到输入为隐藏状态。

  • if else 流程判断

例:我们先定义一个变量,通过用户输入不同的数值执行不同的输出语句。

apple=25
guess_apple=int(input("apple:"))

if guess_apple==apple:
print("恭喜,你猜中了!")
elif guess_apple>apple:
print("没那么多呢,往小点猜~")

else:
print("快接近了,再往上猜~")

这就是一个简单 if else 判断语句了。需要指出的是,python不同于java,js等其他语言不需要中括号把执行语句包括在内。python执行严格的缩进。相同的缩进属于同级代码。
这点一定要注意。



接下来我们改造一下代码,让用户猜3次,如果猜不中则退出程序。

1、while循环。
apple=25
count=0 #定义一个计数变量
while count<3: #while条件判断,当count<3执行条件语句
guess_apple=int(input("apple:"))
if guess_apple==apple:
print("恭喜,你猜中了!")
break; #如果猜中,跳出循环。
elif guess_apple>apple:
print("没那么多呢,往小点猜~")

else:
if count<2:
print("快接近了,再往上猜~")
count+=1 #每次执行完条件count加1

else:
print("您已经猜错三次,游戏结束!")


我们再来改造一下,如果用户连续猜错三次,不是让程序退出,而是询问用户是否继续猜。

apple=25
count=1 #定义一个计数变量
while count<=3: #while条件判断,当count<3执行条件语句
guess_apple=int(input("apple:"))
if guess_apple==apple:
print("恭喜,你猜中了!")
break; #如果猜中,跳出循环。
elif guess_apple>apple:
print("没那么多呢,往小点猜~")
else:
print("快接近了,再往上猜~")
count+=1 #每次执行完条件count加1

if count>3:
y_n=input("您已经猜错三次,是否继续?")
if y_n!="y":
print("游戏结束!")
else:
count=1#初始化计数变量


2、for循环。
apple=25
for i in range(3):
guess_apple=int(input("apple:"))
if guess_apple==apple:
print("恭喜,你猜中了!")
break; #如果猜中,跳出循环。
elif guess_apple>apple:
print("没那么多呢,往小点猜~")
else:
print("快接近了,再往上猜~")



输出双数:
for i in range(0,10,2):
print("loop",i)

range第三个参数表示隔几个输出。更多了解请参考官方文档。
 


本周python入门课程知识点就到这里。下面是自己写的几道练习题,各位可以参考。

练习1:编写登陆接口
  • 输入用户名密码
  • 认证成功后显示欢迎信息
  • 输错密码三次后锁定
import json
count=1
userName=input("请输入用户名:")

with open("user.txt") as f:
userObject = json.load(f)
for user in userObject:
if userName == user["userName"]:
userPassword = input("请输入密码:")
while count <= 3:
if userPassword == user["userPassword"]:
print("登陆成功!")
count=5
else:
userPassword = input("密码错误,请重新输入:")
count += 1
else:
if count == 4:
print("连续输入三次密码错误,账号已被锁定!")
else:
print("账号不存在!")

user.txt自定义json内容

代码片段,主要练习判断语句的使用、本地文件的读取。
这里把账号密码以json的形式存储到text本地文件里。只需要把输入的账号密码与文件的对比判断即可。


练习2:多级菜单
  • 三级联动菜单
  • 可依次选择进入各个子菜单
# Create by dingshuangdian


#省市区三级联动练习


import json
flagProvice=True
flagCity=True
flagArea=True
countProvice=1
countCity=1
countArea=1
proviceList=[]
cityList=[]
areaList=[]
with open("province.txt",encoding='UTF-8') as f:
areaMsg=json.load(f)
for provice in areaMsg:
proviceList.append(provice["region"])
print(proviceList)
selectProvice=input("请选择省市:")
while flagProvice:
for sProvice in areaMsg:
if selectProvice == sProvice["region"]:
for city in sProvice["regionEntitys"]:
cityList.append(city["region"])
print(cityList)
selectCity=input("请选择城市:")
while flagCity:
for sCity in sProvice["regionEntitys"]:
if selectCity==sCity["region"]:
for selectArea in sCity["regionEntitys"]:
areaList.append(selectArea["region"])
print(areaList)
selectArea = input("请选择城区:")
while flagArea:
for sArea in areaList:
if selectArea==sArea:
print("您选择了:",selectProvice,selectCity,selectArea)
flagArea=False
break
countArea+=1
if (countArea > len(areaList)):
selectArea = input("城区输入有误,请重新输入:")
countArea = 1
flagCity = False
break
countCity+=1
if (countCity > len(cityList)):
selectCity = input("城市输入有误,请重新输入:")
countCity = 1
flagProvice = False
break
countProvice+=1
if(countProvice>len(proviceList)):
selectProvice = input("省份输入有误,请重新输入:")
countProvice=1

这个练习对新手比较难主要知识点列表,字典,json数据的解析。可以复制运行参考。

附上:provice.txt省市区json文件下载地址:
百度网盘:https://pan.baidu.com/s/1JtObu2A40QoXDwxJofIsQA



好了,这周的学习到这里就结束了,有什么不足的地方欢迎评论区指教!







 






猜你喜欢

转载自www.cnblogs.com/dingshuangdian/p/9106329.html