Python-day01-关于变量,格式化输出,交互

 关于变量部分:

变量的规则如下:

# -*- coding:utf-8 -*-
#Python 2中文的字符需要声明上面这个代码

name = "William-wxh"
name2 = name
print("My name is",name,name2)
name = "wxh"
print(name,name2)
#这里这个测试是为了说明name2=name这条语句是实现的指针地址的传递
#而并非经由name实现赋值
#多行要用三个单引号

'''
变量名只能是字母、数字、下划线的任意组合不能有特殊字符
变量的第一个字符不能是数字
关键字不能为变量名
'''
#这里体现了命名的明确性
gf_of_boy = "li"

#大写表示常量
NAME = "IG"



字符串的格式化:

这里有几种供参考

username =input("username:")
password =input("password:")
print(username,password)
#input 默认输入是str
name =input("name:")
age =input("age:")
job =input("job:")
salary=input("salary:")

info ='''
----info of ----
Name:'''+name+'''
Age:'''+age+'''
Job:'''+job+'''
Salary:'''+salary+'''
'''

这里是用'''和+实现了字符串的拼接从而实现了info的显示,这种方法不提倡。原因:

“+”号越多,在内存中多次重复创建,浪费空间。C语言需要手动回收,而python,C#等高级语言自带虚拟机会进行GC垃圾回收没有被调用的内存访问空间。所以不提倡使用+,节约资源。

#格式化输出
info1 ='''
----info of ----
Name:%s
Age:%s
Job:%s
Salary:%s
'''%(name,age,job,salary)

这种方式类似C语言的格式化输出的方式,%占位符类似于c语言的标准模式的输出

info2 ='''
----info of ----
Name:{name}
Age:{age}
Job:{job}
Salary:{salary}
'''.format(_name=name,
           _age=age,
           _job=job,
           _salary=salary)

info3 ='''
----info of ----
Name:{0}
Age:{1}
Job:{2}
Salary:{3}
'''.format(name,age,job,salary)

利用format函数可以便捷高效的对多行字符串进行赋值的格式化输出

两种形式

在info2中可以利用{}来进行输出变量的替换这里两个变量相同用_来区分_表示是字符串中的变量

在info3中可以通过利用数组的思想来对想要输入的值部分进行标号,然后依次在后面的函数中标出变量名。但是这样有一个弊端,在工程量较大的项目中不便于修改容易出错。

用户交互:

task:

输入用户和密码在dos模式下实现密文输入,输入正确,欢迎界面,错误则提示错误。

import getpass
#密文密码
_username ='wxh'
_password ='123'
username =input("username:")
password =getpass.getpass("password:")

if _username == username and _password == password:
    print("Wecome user {name} login...".format(name=username))
else:
    print("error!")
print("ddd")

这里给出一个实例练习for循环和while循环:

猜年龄的游戏才三次错误就退出。

age_of_man = 56

for i in range(3):
    guess_age =int(input("guess age:"))
    if guess_age == age_of_man:
        print("yes")
        break
    elif guess_age > age_of_man:
        print("think smaller")
    else:
        print("think bigger")
else:
    print("you have tried too many times")
'''
if count ==3:
    print("you have tried too many times") 
'''
age_of_man = 56

count = 0;
while count <3:
    guess_age =int(input("guess age:"))
    if guess_age == age_of_man:
        print("yes")
        break
    elif guess_age > age_of_man:
        print("think smaller")
    else:
        print("think biger")
    count +=1
    if count ==3:
        countine_confirm =input("do you want to keep guessing?")
        if countine_confirm !='n':
            count =0;
else:
    print("you have tried too many times")
#if count ==3:
#    print("you have tried too many times")

这里值得提出来的是:

else if 不同于别的语言的写法 :elif

还有对于for循环和while循环可以嵌套else,这个是别的语言不具备的。

猜你喜欢

转载自blog.csdn.net/weixin_41445387/article/details/86497960