关于变量部分:
变量的规则如下:
# -*- 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,这个是别的语言不具备的。