Python学习之路(第一周)

匿名 (未验证) 提交于 2019-12-02 22:51:30

好了,直接步入正题。

本博客主要记录自己接下来几个月的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:%sAge:%sJob:%sSalary:%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=25guess_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=25count=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加1else:    print("您已经猜错三次,游戏结束!")我们再来改造一下,如果用户连续猜错三次,不是让程序退出,而是询问用户是否继续猜。
apple=25count=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=25for 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 jsoncount=1userName=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 jsonflagProvice=TrueflagCity=TrueflagArea=TruecountProvice=1countCity=1countArea=1proviceList=[]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好了,这周的学习到这里就结束了,有什么不足的地方欢迎评论区指教!

 
 
 
 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!