day005作业

作业:

1、
简述编译型与解释型语言的区别,且分别列出你知道的哪些语言属于编译型,哪些属于解释型

ANSR:

编译型语言指的是,在程序运行的时候,只有第一次需要编译,以后就可以直接运行了。比如:C
解释型语言指的是,在程序运行的时候,需要一边编译一边运行,每次运行都是如此。比如:python

2、
执行 Python 脚本的两种方式是什么

ANSR:

1、交互式环境下运行
2、以脚本的方式运行

3、
Pyhton 单行注释和多行注释分别用什么?

ANSR:

单行注释使用 # 
多行注释使用 """"""或''''''
    
4、
布尔值分别有什么?

ANSR:

布尔值只有两个,一个是True,另一个是False
    
5、
声明变量注意事项有那些?

ANSR:

1、变量名需要先定义、再使用;
2、变量名只能由小写字母、下划线以及数字组成,且不能以数字开头;
3、变量名需要见名知意,便于理解,且不能与系统的关键字冲突;
4、命名时建议使用小写字母加下划线,驼峰体也可以使用,但是不建议;

6、
如何查看变量在内存中的地址?

ANSR:

使用id(),查看变量的id号,id号就是变量名的内存地址,经过python解释器优化的内存地址。

7、写代码
    实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!
    实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
    实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次


ANSR:

1、
inp_name = input("Username please:  ")
inp_pwd = input("Password plrase:  ")
if inp_name == "seven" and inp_pwd == "123":
    print("登录成功")
else:
    print("登录失败")

2、
for i in range(3):
    inp_name = input("Username please:  ")
    inp_pwd = input("Password plrase:  ")
    if inp_name == "seven" and inp_pwd == "123":
        print("登录成功")
        break
    else:
        print("登录失败")

3、
for i in range(3):
    inp_name = input("Username please:  ")
    inp_pwd = input("Password plrase:  ")
    if (inp_name == "seven" or "alex") and inp_pwd == "123":
        print("登录成功")
        break
    else:
        print("登录失败")



8、写代码
    a. 使用 while 循环实现输出2-3+4-5+6...+100 的和
    b. 使用 while 循环实现输出 1,2,3,4,5, 7,8,9, 11,12 
    c. 使用 while 循环实现输出 1-100 内的所有奇数
    d. 使用 while 循环实现输出 1-100 内的所有偶数

ANSR:

a.
i = 1
res = 0
while i < 100:
    i += 1
    if i % 2 == 0:
        res += i
    else:
        res -= i    
print(res)

b.
i = 1
while i <= 12:
    if i == 6 or i == 10:
        i += 1
        continue
    print(i,end="  ")
    i += 1

c.
i = 1
while i < 100:
    if i % 2 == 1:
        print(i, end="  ")
    i += 1

d.
i = 1
while i <= 100:
    if i % 2 == 0:
        print(i, end="  ")
    i += 1


9、现有如下两个变量,请简述 n1 和 n2 是什么关系?
      n1 = 123456
      n2 = n1

ANSR:

n1与n2是指向同一个内存地址的两个变量名

10、for循环嵌套打印九九乘法表
        

ANSR:

for i in range(1,10):
    for j in range(1,i+1):
        print("%s * %s = %s"%(j,i,i*j),end="  ")
        if i == j:
            print(" ")
    
11、for循环嵌套打印九九金字塔

ANSR:

for i in range(1,10):
    print(" "*(10-i),(i*2-1)*"*")

12 作业:编写登陆接口
    基础需求:

    让用户输入用户名密码
    认证成功后显示欢迎信息
    输错三次后退出程序

ANSR:

for i in range(3):
    inp_name = input("请输入您的账号:  ")
    inp_pwd = input("请输入您的密码:  ")
    if inp_name == "zhangsan" and inp_pwd == "123":
        print("登录成功")
        break
    else:
        print("账号或密码错误,请重新登录")

13、选做作业:
    升级需求:
    可以支持多个用户登录 (提示,通过列表存多个账户信息)
    用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里)


ANSR:

//////