PYTHON自动化开发课程学习笔记Day1

一、Python发展及介绍

Python是当前比较流行的语言,在大数据、人工智能等方面都有着非常广泛的应用。

二、从Hello World开始

英文的“你好,世界!”在Python怎么展现出来呢?

print(“Hello World!”)

三、字符串的拼接

(一)以输出个人信息栏为例,利用一对三个单引号进行字符串的拼接:

name = input(“name:”)

age = input(“age:”)

job = input(“job:”)

salary = input(“salary:”)

info = ’’’

------info of ’’’+ name +’’’------

Name:’’’+name+’’’

Age:’’’+age+’’’

Job:’’’+job’’’

Salary:’’’+salary

print(info)

可以看出’’’可用于字符串的拼接,但’’’一般也用于多行注释,具体格式为:

’’’

内容

’’’

注释

(二)但是从上述代码可看出,多次输入’’’比较繁琐,而且容易出错,所以我们可以将其改为占位符进行字符串的拼接:

name = input(“name:”)

age = input(“age:”)

job = input(“job:”)

salary = input(“salary:”)

info = ’’’

------info of %s------

Name=%s

Age=%s

Job=%s

Salary=%s

’’’ %(name,name,age,job,salary)

此处的“s”代表string,而后面对占位符进行解释的时候注意一定要一一对应。

四、实践:账户密码输入

(一)首先实现最简单的,即用户输入账户名密码,然后在结尾输出,代码如下:

username = input(“username:”)

password = input(“password:”)

print(username,password)

(二)但是我们一般在输入密码时,一般是不可见密码的,那怎样实现密化密码的输入呢,代码如下:

import getpass

username = input(“username:”)

password = getpass.getpass(“password:”)

print(username,password)

我们可以看到第一行加入了“import getpass”,意为利用“import”函数从标准库中调用“getpass”。当然,因为密化的对象是“password”,所以我们需要将“password”行的“input”改为“getpass.getpass”,这样就能实现密化密码的输入。

要注意的是,当使用Pycharm运行时,是无法直接看到效果的。所以我们需要打开CMD命令提示符,按照顺序逐级找到程序文件,再进行运行,这样就能看到效果了。

五、实践:判断年龄正确与否

(一)前面对密化密码进行了完善,但是在输完密码后程序还需要对密码的正确与否进行判断。同时我们应该对代码进行完善,使之能够人性化输出。下面结合判断年龄正确与否的实践进行进一步编码,代码如下:

kam_age = 22

guess_age = int(input(“guess_age:”))

if guess_age == kam_age:

    print(“yes,you got it!”)

elif guess_age > kam_age:

    print(“think smaller…”)

else:

    print(“think bigger…”)

上述的“int”表示将“guess_age:”一栏输入的字符转为数值型,以便和“kam_age”进行比较。其中需要注意的是,当进行数值的比较时,我们要用的是“==”而不是“=”,后者的含义从前面所列的代码可以看出,是“赋值”的意思。

(二)从上一个代码就可以看出,这个代码是“一次性”的,无论输入什么数,判断一次即退出,那么如何实现循环输入呢?我们在这里引入“while”循环,代码如下:

kam_age = 22

while True:

    guess_age = int(input(“guess_age:”))

    if guess_age == kam_age:

        print(“yes,you got it!”)

        break

    elif guess_age > kam_age:

        print(“think smaller…”)

    else:

        print(“think bigger…”)

需要注意的是,此处的“True”首字母需要大写。其次,在语句print(“yes,you got it!”)后面加入“break”意为当输入为正确时,退出本次循环。

(三)在上述代码的基础上,我们知道我们日常系统在验证的时候并不是无次数限制的,所以我们在这里要对计时进行设计,代码如下:

kam_age = 22

count = 0

while True:

    if count == 3:

        break

    guess_age = int(input(“guess_age:”))

    if guess_age == kam_age:

        print(“yes,you got it!”)

        break

    elif guess_age > kam_age:

        print(“think smaller…”)

    else:

        print(“think bigger…”)

    count += 1

(四)在上题的基础上,我们可以对部分语句进行优化,代码如下:

kam_age = 22

count = 0

while count < 3:

    guess_age = int(input(“guess_age:”))

    if guess_age == kam_age:

        print(“yes,you got it!”)

        break

    elif guess_age > kam_age:

        print(“think smaller…”)

    else:

        print(“think bigger…”)

    count += 1

else:

    print(“you have tried too much times…fuck off”)

后面新加的“else”是和“while count”相搭配的。上述代码最终效果是在前面效果的基础之上,当输入三次均为错误时,输出“else”后面的语句。

(五)在上述代码的基础上,我们也可以使用“for”循环进行编码,代码如下:

kam_age = 22

for i in range(3):

    guess_age = int(input(“guess_age:”))

    if guess_age == kam_age:

        print(“yes,you got it!”)

        break

    elif guess_age > kam_age:

        print(“think smaller…”)

    else:

        print(“think bigger…”)

else:

    print(“you have tried too much times…fuck off”)

使用“for”循环的好处就是省去了“count”计时

(六)在第四小点的基础上,我们试着对代码进行更改,以达到当输入三次错误时进行提问,而后重新开始及时的效果,代码如下:

kam_age = 22

count = 0

while count < 3:

    guess_age = int(input(“guess_age:”))

    if guess_age == kam_age:

        print(“yes,you got it!”)

        break

    elif guess_age > kam_age:

        print(“think smaller…”)

    else:

        print(“think bigger…”)

    count += 1

    if count == 3:

        continue_confirm = input(“do you want to keep guessing?”)

        if continue_confirm != “no”

            count = 0

else:

    print(“you have tried too much times…fuck off”)

在这里,当我们输入三次均为错误时,即计时器数值为3,我们进行提问,当答案不是“no”时,计时器归零,重新开始计时。

六、实践:for循环的使用

(一)第四点的第四小点提到了for循环,下面列一个式子解释一下这个语句的使用方法,代码如下:

for i in range(10):

    print(“loop:”,i)

上述语句意为给i循环赋0~9的值,注意这里时0~9而不是0~10或者1~10.

(二)在上述代码的基础之上,如果我们要输出0~9之间的偶数呢?代码如下:

for i in range(0,10,2):

    print(“loop:”,i)

这里range括号中的前两个数意为取值范围(第一个数如果为0,可以省略),后面的2代表每执行一次,跳一个数,如果没有输入,就和第一小点一样,默认此处的值为1,即不跳数。

(三)第一小点的代码中我们一共输出了十个数字,那么如果我们要输出一百个数字,那么就需要在循环中嵌套循环,代码如下:

for i in range(10):

    print(“----”,i)

    for j in range(10):

        print(j)

(四)在上述代码的基础上,如果我们要输出10*7个数,那么我们对代码需要进行怎样的修改呢?代码如下:

for i in range(10):

    print(“----”,i)

    for j in range(10):

        print(j)

        if j>5:

            break

(五)如果我们在for循环中加入continue,会实现什么效果呢?

for i in range(0,10):

    if i < 5:

        print("loop:",i)

    else:

        continue

    print("haha")

continue的效果是跳出本次循环,进入下一次循环。

七、作业

#Author=Kamchatka Man

import getpass

jq_name = "kamchatka"

jq_key = "1244"

for i in range(3):

    username = input("username:")

    password = getpass.getpass("password:")

    if jq_name == username and jq_key == password:

        print("Welcome!")

        break

else:

    print("Give over!")

猜你喜欢

转载自www.cnblogs.com/kamchatkaman/p/9162525.html