一、第一个程序:Hello World程序
print("Hello World")
执行结果:
二、变量
(一)创建一个变量:
1 name = 'LiJunLin'
这就是变量,设置一个变量,然后存入数据。
(二)变量存储的方式:
1 name = 'LiJunLin' 2 3 name2 = name 4 5 print('My name is:',name,name2) 6 7 name = 'qingshuting' 8 9 print('My name is:',name,name2)
执行结果:
#在python中没有常量的概念,一般规定大写的变量为常量
如:PI=3.1415
三、注释
单行注释 :# 被注释的内容
多行注释:""" 被注释的内容 """
四、用户输入
(一)接收用户后打印输出
1 username = input("请输入用户名:") 2 password = input('请输入密码:')
3 print(username,password)
#需要注意的是,python3中 input 函数接收的数据是Str(字符串)类型。
执行结果:
(二)接收用户输入后,更美观的打印出来
username = input("请输入用户名:") password = input('请输入密码:') age = input('年龄:') work = input("工作:") msg = """---------info---------- name :%s password:%s age :%s job :%s """%(username,password,age,work) print(msg)
执行结果:
另一种常用控制输出的写法:
username = input("请输入用户名:") password = input('请输入密码:') age = input('年龄:') work = input("工作:") msg1 = """---------info---------- name :{_name} password:{_password} age :{_age} job :{_job} """.format(_name=username,_password=password,_age=age,_job=work) print(msg1)
执行结果与上面相同。
五、实现最简单的用户登录系统
使用语句:if......else........
_username = 'LJL' _password = '123' uesrname = input("请输入用户名:") password = input("请输入密码:") if username == _username and password ==_password: print("Welcome {name}".format(name = username)) else: print("用户或密码错误!")
执行结果:
六、循环
在python中使用两种循环语句:while 和 for
1 count = 0 2 while True: 3 print(count) 4 count+=1
这段代码是一个死循环,因为True并没有改变状态,所以将一直重复循环下去。
想要改变死循环只能改变while 条件。所以设置一个active变量。
1 count = 0 2 active = True #设置一个active接受状态信息 3 while active: 4 print(count) 5 count+=1 6 if count==5: 7 active=False #当while代码执行5次的时候,将active变成False,就能退出循环了
执行结果:
1 for i in range(0,5): #range函数作用是从0到4 2 print(i)
执行结果跟上面一样。
七、简单的猜数字游戏
开发一个简单的猜数字游戏。
游戏规则:由系统随机生成一个1-10之间的整数,让玩家猜数字,玩家每次有3次机会猜数字。每次猜的数字系统会给予提示是猜大了还是猜小了,连续3次都猜错就退出
1 import random 2 3 number = random.randint(0,10) 4 count=0 5 while count<3: 6 guess_number = int(input('请输入数字:')) 7 if guess_number == number: 8 print('猜对了!牛逼') 9 break 10 elif guess_number<number: 11 print('猜小了,往大了猜') 12 else: 13 print('猜大了,往小了猜') 14 count+=1 15 if count==3: 16 again = input('还要继续吗') 17 if again.upper() != 'N': 18 count=0 19 else: 20 exit()
作业1:编写登录接口
功能:
输入用户名密码;
认证成功显示欢迎信息;
输错三次后锁定;
要求:从一个文件中读取用户名和密码信息,如果连续输错3次就将该用户锁定
1 file_object = open("1.txt","r+")#读取1.txt文件中的用户名和密码的信息,存放的格式为 用户名:密码 r+表示读写权限 2 name_text = dict(line.strip().split(":")for line in file_object if line)#将file_object中的每一行读取出来。将每一行去掉 ,且以”:“为分隔符组成字典的形式。 3 print(name_text) 4 count = 0 5 while count<3: 6 username = input("请输入用户名:") 7 password = input("请输入密码:") 8 locked = open("locked.txt","r+") 9 for j in locked.readlines():#将locked中每行的数据读取出来 10 if username == j.strip(): 11 print("{}已经被锁".format(username)) 12 exit() 13 if password == name_text.get(username): 14 print("{}登录成功".format(username)) 15 exit() 16 elif count == 2: 17 for i in name_text.keys(): 18 if username ==i: 19 locked.write(username+" ") 20 locked.close() 21 print("{}因为输错三次而被锁定了".format(username)) 22 else: 23 print("用户不存在") 24 exit() 25 else: 26 print("""用户名或密码错误 27 ------------剩余{}次----------------- 28 """.format(2-count)) 29 count+=1
执行结果:
作业2:多级菜单
要求:三级菜单,可依次选择进入各子菜单,所许新知识列表和字典
1 menu = {'四川省':[{'成都市':['新都区','锦江区','青白江','高新区','金牛区']},{'眉山市':['彭山区','东坡区','青神县','仁寿县']}], 2 '贵阳省':[{'贵阳市':['开阳县','修文县','观山湖区','白云区','花溪区']},{'遵义市':['汇川区','红花岗区','播州区','正安县']}]} 3 #设置好字典 4 5 active = True 6 while active: 7 print("欢迎来到多级菜单....") 8 print("+--------------------------------------------------------+") 9 p_dict = {} 10 for p_num,p_key in enumerate(menu.keys(),1): 11 p_dict[p_num]=p_key 12 print(p_num,p_key) 13 print("+--------------------------------------------------------+") 14 p_find = input("请输入你要查询的省的编号(输入Quit退出):") 15 if p_find.upper()=="QUIT": 16 active=False 17 elif p_find.isdigit() and int(p_find)<=len(p_dict): 18 person = p_dict[int(p_find)] 19 print(person) 20 while active: 21 print("+--------------------------------------------------------+") 22 c_dict={} 23 citys_list = menu[person] 24 for c_num,citys in enumerate(citys_list,1): 25 for city in citys.keys(): 26 c_dict[c_num]=city 27 print(c_num,city) 28 print("+--------------------------------------------------------+") 29 c_find = input("请输入你要查询的市的编号(输入Quit退出,输入Back返回上一层):") 30 if c_find.upper() == 'QUIT': 31 active = False 32 elif c_find.upper() == 'BACK': 33 break 34 elif c_find.isdigit() and int(c_find) <= len(c_dict): 35 print("%s %s"%(person,c_dict[int(c_find)])) 36 while active: 37 a_dict={} 38 print("+--------------------------------------------------------+") 39 areas = citys_list[int(c_find)-1][c_dict[int(c_find)]] 40 for a_num,area in enumerate(areas,1): 41 a_dict[a_num]=area 42 print(a_num,area) 43 print("+--------------------------------------------------------+") 44 a_find = input("请输入你要查询的区(县)的编号(输入Quit退出,输入Back返回上一层):") 45 if a_find.upper()=='QUIT': 46 active = False 47 elif a_find.upper()=='BACK': 48 break 49 elif a_find.isdigit() and int(a_find)<=len(a_dict): 50 print("%s %s %s" % (person, c_dict[int(c_find)], a_dict[int(a_find)])) 51 else: 52 print("error") 53 active = False 54 else: 55 print('error') 56 active = False 57 else: 58 print('error') 59 active = False