Python小白-day1
(2018.3.14 开始整理)
第一周第10节课
注释分单行注释与多行注释:
(1) 单行注释: # 被注释的内容
(2)多行注释:''' 被注释的内容 ''' (3个单引号或者3个双引号)
备注:在python中,单引号与双引号等价
七、用户输入
字符串拼接
“ %s ” —— string,相当于shell中的dollar符;(常用)
“ %d ” —— 数据;(常用)
“ %f ” —— 浮点(小数)
八、格式化输出的三种方法
方法1
1 name = input("name:") 2 age = input("age:") 3 job = input("job:") 4 salary = input("salary:") 5 6 info = ''' 7 -------- info of %s -------- 8 Name: %s 9 Age: %s 10 Job: %s 11 Salary: %s 12 ''' %(name ,name,age,job,salary) 13 print(info)
name、age、job、salary都是string的格式。
将age强行转成数据的格式要用int()函数:
1 age = int(input("age:")) 2 print(type(age))
转换成字符串格式要用str()函数。
方法2(官方推荐)
1 name = input("name:") 2 age = int(input("age:")) 3 job = input("job:") 4 salary = input("salary:") 5 6 info2 = ''' 7 -------- info of {_name} -------- 8 Name: {_name} 9 Age: {_age} 10 Job: {_job} 11 Salary: {_salary} 12 '''. format(_name = name, 13 _age = age, 14 _job = job, 15 _salary = salary) 16 print(info2)
方法3 (不推荐使用,不清晰)
1 name = input("name:") 2 age = int(input("age:")) 3 job = input("job:") 4 salary = input("salary:") 5 6 info3 = ''' 7 -------- info of {0} -------- 8 Name: {0} 9 Age: {1} 10 Job: {2} 11 Salary: {3} 12 '''.format(name,age,job,salary) 13 print(info3)
九、密码模块 getpass
备注:这个模块在pycharm中不好使,应在cmd中运行
1 import getpass 2 3 username = input("username:") 4 password = getpass.getpass("password:") 5 6 print(username,password)
十、 流程控制 逻辑判断
判断输入用户的用户名与密码是否正确。
1 # 流程控制,逻辑判断 2 # 判断输入的用户名和密码是否正确 3 4 _username = 'Alex' 5 _password = 'abc123' 6 username = input("username:") 7 password = input("password:") 8 9 if _username == username and _password == password: 10 print("Welcome user {name} login...".format(name = username)) 11 else: 12 print("Invalid username or password!") 13 #print('dddd')
小游戏 —— 猜年龄(guess age)
1 # 流程控制,逻辑判断 2 # 猜年龄:一次机会 3 4 age_of_oldboy = 56 5 guess_age = int(input("guess age:")) # 不加int()会出错 6 if guess_age == age_of_oldboy: 7 print("yes,you got it!") 8 elif guess_age > age_of_oldboy: 9 print("think smaller...") 10 else: 11 print("think bigger!")
改进一下:只能猜3次;才对就退出(循环while)
1 # 流程控制,逻辑判断 2 # 猜年龄:3次机会,猜错就退出;其中哪次才对,也退出。 3 4 age_of_oldboy = 56 5 count = 0 6 7 while count <3: 8 guess_age = int(input("guess age:")) 9 if guess_age == age_of_oldboy: 10 print("yes,you got it!") 11 break # 退出循环 12 elif guess_age > age_of_oldboy: 13 print("think smaller...") 14 else: 15 print("think bigger!") 16 count +=1 17 else: 18 print("you have tried too many times..fuck off")
再改进一下:每执行3次,询问要不要继续玩?
1 # 流程控制,逻辑判断 2 # 猜年龄:3次机会,3次都猜错后询问是否继续。 3 4 age_of_oldboy = 56 5 count = 0 6 7 while count <3: 8 guess_age = int(input("guess age:")) 9 if guess_age == age_of_oldboy: 10 print("yes,you got it!") 11 break 12 elif guess_age > age_of_oldboy: 13 print("think smaller...") 14 else: 15 print("think bigger!") 16 count +=1 17 if count == 3: 18 continue_confirm = input("Do you want to continue guessing..[y/n]:") 19 if continue_confirm != 'n': 20 count = 0
十一、for循环、continue语句和break语句
for循环的基本程序1:
1 for i in range (10): 2 print("loop",i)
运行结果:
loop 0
loop 1
loop 2
loop 3
loop 4
loop 5
loop 6
loop 7
loop 8
loop 9
for循环的基本程序2:(2是步长)
1 for i in range (0, 10, 2): 2 print("loop", i)
运行结果:
loop 0
loop 2
loop 4
loop 6
loop 8
continue语句:
# continue语句:跳出此次循环,继续下次循环 for i in range(0,10): if i < 3: print("loop",i) else: continue print("hehe..")
运行结果:
loop 0
hehe..
loop 1
hehe..
loop 2
hehe..
break语句:
(1)
for i in range(0,10): print('----------',i) for j in range (0,10): print(j)
(2)
for i in range(0,10): print('----------',i) for j in range (0,10): print(j) if j > 5: break
分析上述两段程序的差别,理解break的功能:break语句的作用是跳出当前循环(内环)。