1.简述编译型与解释型语言的区别,且分别列出你知道的哪些语言属于编译型,哪些属于解释型
2.执行 Python 脚本的两种方式是什么
3.Pyhton 单行注释和多行注释分别用什么?
4.布尔值分别有什么?
5.声明变量注意事项有那些?
6.如何查看变量在内存中的地址?
7.现有如下两个变量,请简述 n1 和 n2 是什么关系? n1 = 12345 n2 = n1
8.小练习
编译型语言是在执行代码前,需要一个专门的编译过程,将高级语言翻译成机器语言,以后执行就不需要再编译了,直接运行即可,所以执行效率较快,如 C、C++
解释型语言有一个专门的解释器,每个语句在执行的时候才会被翻译成机器语言,而且每执行一次都要翻译一次,所以执行效率较慢,如 python 、ruby、java
2.执行 Python 脚本的两种方式是什么
在解释器的交互模式执行,以脚本文件的方式执行
3.Pyhton 单行注释和多行注释分别用什么?
单行注释用#,多行注释可以用三对双引号""" """
4.布尔值分别有什么?
True 和 False
5.声明变量注意事项有那些?
变量名只能是 字母、数字或下划线的任意组合
变量名的第一个字符不能是数字
关键字不能声明为变量名['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
推荐使用下划线方式命名
6.如何查看变量在内存中的地址?
定义变量后,变量会有三个属性 id、type、value,可以通过id来查看变量在内存中的地址,但并不是显示真正的内存地址
7.现有如下两个变量,请简述 n1 和 n2 是什么关系? n1 = 12345 n2 = n1
在内存中分配一块地方存12345,然后一个叫n1的引用指向12345,再分配一个叫n2的引用,也指向12345
8.小练习
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 输出 1到num的所有数
def count(num):
flag = 1
while flag <= num:
print flag
flag+=1
# 输出 1 到 num中所有数的和
def add(num):
flag = 1
res = 0
while flag <= num:
res = res + flag
flag+=1
print res
# 输出 1 到 num中所有的奇数
def isodd(num):
flag =1
while flag <= num:
if not flag%2 ==0:
print flag
flag+=1
# 输出 1 到 num中所有的偶数
def notodd(num):
flag =1
while flag <= num:
if flag%2 ==0:
print flag
flag+=1
# 输出 1-2+3-4+5-6...num的值
def result(num):
flag = 0
res = 0
while flag < num:
flag+=1
if flag%2 ==0:
tag = -flag
else:
tag = flag
res = res + tag
print res
# 三次机会猜年龄
def guess(age):
tag = 0
while tag < 3:
userinput = int(input("<< input your guess: "))
tag+=1
if userinput < age:
print ("你猜小了")
elif userinput > age:
print("你猜大了")
else:
print("你猜对了")
tag = 3
if __name__ == '__main__':
#add(100)
#count(100)
#result(99)
#guess(18)
9.登陆接口
流程图
#! /usr/bin/env python
# coding: utf-8
import json
import os
# 获取当前文件路径
#pwd = os.path.abspath(os.path.dirname(os.getcwd()))
pwd = os.getcwd()
# 得到存储用户信息的文件路径
filedir = pwd + '\dic'
# 判断信息文件是否存在,存在即取出并转换成字典类型数据,否则提示文件不存在退出
if os.path.exists(filedir):
wp = open(filedir, 'r')
sett = wp.read()
data = json.loads(sett)
wp.close()
else:
print("文件不存在!")
exit()
Tag = True
while Tag:
name = input("请输入用户名:")
# 判断用户名是否存在于文件中
if name not in data.keys():
print("用户不存在!")
continue
# 判断用户的count信息是否大于2
if name in data.keys() and data[name]['count'] > 2:
print("密码错误次数超过三次,用户已被锁定")
Tag = False
continue
passwd = input("请输入用户密码:")
# 判断用户名密码是否正确
if name in data.keys() and passwd == data.get(name).get('passwd'):
print("登陆成功,开始你的表演!")
while Tag:
cmd = input("输入你的命令:\n以quit结束")
if cmd == 'quit':
Tag = False
continue
print("python %s" % cmd)
# 如果用户名正确,密码不正确,则count+1,存入信息文件,count=3时,退出程序
else:
if name in data.keys():
print("用户名存在,密码错误")
data[name]['count'] += 1
wp = open(filedir, 'w')
wp.write(json.dumps(data))
wp.close()
if data[name]['count'] == 3:
print("输入错误三次,退出程序")
Tag = False
# 退出程序
print("bye bye")
用户信息文件
{"liuliang": {"passwd": "6543", "count": 1}, "egon": {"passwd": "abcd", "count": 0}, "alex": {"passwd": "1234", "count": 0}}
README
这是一个登陆接口,基于python3.6的开发的代码
实现功能:
1.自动寻找与代码相同路径下的用户信息文件,并对其进行读写操作
2.让用户输入用户名密码
3.认证成功后显示欢迎信息,并可以执行操作,知道用户输入quit退出
4.用户输入密码错误三次后退出程序
5.用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态
操作:
1.解压login.zip压缩包到任意目录
2.右键选择执行login.py的方式,选择edit with IDLE 3.6 ,执行RUN即可。或者选择使用pycharm打开,选择python3.6,执行。
3.用户信息表信息
{"liuliang": {"passwd": "6543", "count": 0}, "egon": {"passwd": "abcd", "count": 0}, "alex": {"passwd": "1234", "count": 0}}
4.可以输入以上信息进行测试