首页 » 编程 » Python基础 » 正文

编程语言介绍,python语言介绍,用户交互,流程控制

Python学习日记-day13

今天开始第一天的python学习,笔记如下:

编程语言介绍:

世界上有六百多种编程语言,分为编译性,解释性,混合型语言。


编译性语言:如C,C++,go

特点:

    运行效率高;

    依赖编译平台;linux操作系统跟CPU交互的接口与Windows不是完全一样,所以各个平台需要重新编译;

    不能跨平台,开发效率低


解释性语言:如shell,python,php,ruby

特点:(解释性语言优点既是编译性语言缺点,两者相对)

    运行效率低

    跨平台

    开发效率高

    解释性语言一般不需要关注硬件底层

    学习成本低


混合型:如java,C#


Python语言介绍

CPython,用C语言写的python,我们学的就是这个CPython,也是比较通用的。

还有其他几种,这里不记录了。


第一个Python程序:

print ("Hello World!!")


变量:

变量定义的规则:

  • 变量名只能是 字母、数字或下划线的任意组合

  • 变量名的第一个字符不能是数字

  • 以下关键字不能声明为变量名:

['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']


其他变量命名规则:

驼峰体:

TrafficCost = 23


下划线体:

Python官方推荐,可读性较高。

traffic_cost = 23 


常量命名:

常量既值不会改变的量,通常命名方式为全大写,如:

AGE_OF_OLDBOY = 56


用户交互:

简单的用户交互:

name = input("Please input your name: ")
age = input("Please input your age: ")
print(name, age)

运行结果:

Please input your name: ALEX

Please input your age: 23

ALEX 23


# 设置输入密码密文, 引入getpass模块

说明:在PyCharm中运行有问题

import getpass
name = input("Please input your name: ")
age = getpass.getpass("Please input your age: ")
print(name, age)


int和str数据类型:

int = integer 整型或整数 ,如数字 4

str = string 字符串,如 'alex'  '4' 


查看数据类型:

age = 56

age2 = "56"

print(type(age), type(age2))

结果:

<class 'int'> <class 'str'>


同一类型的数据类型可以相互操作,比如整数+整数

字符不能与整型或数字进行计算 比较


数据类型转换:

int("22")  //转换字符串22为int类型

str(22)  //转换数字22为str类型


流程控制:

语法结构:

if 条件 :

    做操作。

elif 条件 :

    做操作。

else :

    做操作



简单示例:

age = 56
user_guess = int(input("Please input age:"))  # 这里接收的都是str类型的值,要转换为int类型进行比较
if user_guess > age:
    print("Please try smaller.")
elif user_guess < age:
    print("Please tyr bigger.")
else:
    print("You got it.")



作业:

作业1:

# 需求:猜年龄,每隔3次询问是否继续玩
age = 56
count = 0
while True:
    if count == 3:
        print("You already guess more than 3 times, please try again next time.")
        break
    user_guess = int(input("Please input aga:"))  # 这里接收的都是str类型的值,要转换为int类型进行比较
    if user_guess > age:
        print("Please try smaller.")
    elif user_guess < age:
        print("Please tyr bigger.")
    else:
        print("You got it.")
        break
    count += 1

 

作业2:

# 需求:猜年龄,可以让用户最多猜3次
age = 56
count = 0
while True:
    if count == 3:
        result = input("You already guess more than 3 times, do you want to continue? (y/n)")
        if result == "n":
            print("Bye bye.")
            break
        elif result == "y":
            count = 0
        else:
            print("No this option.")
    else:
        user_guess = int(input("Please input aga:"))
        if user_guess > age:
            print("Please try smaller.")
        elif user_guess < age:
            print("Please tyr bigger.")
        else:
            print("You got it.")
            break
        count += 1

 

作业3:

# 需求:编写登录接口,输入用户名密码,认证成功后显示欢迎信息,输错三次后锁定,重新启动程序后输入用户依然会提示锁定

import getpass

username = "alex"
password = "alex123"

count = 0
while True:
    if count == 3:
        print("your account is locked.")
        lock_file = open("lock.txt", "w")
        lock_file.write("alex")
        lock_file.close()
        break
    else:
        username_input = input("Please input your username; ")
        # password_input = getpass.getpass("Please input your password:")
        password_input = input("Please input your password:")
        lock_file = open("lock.txt", "r")
        if lock_file.read() == username_input:
            print("This account has been locked.")
            break
        else:
            if username_input == username and password_input == password:
                print("Welcome", username)
                break
            else:
                print("Username or password wrong.")
        lock_file.close()
    count += 1



发表评论

验证码加载中....