Python自学,Day1-Python基础

mac2022-06-30  28

学习资料来源:博客园 金角大王

 

 2018.7.22

1、用户输入,并打印输出

1 username=input("username:") 2 password=input("password:") 3 print(username,password)

备注:有种大学学习C语言的即视感,先输入XXX,后执行XXX...

2、格式化输出

(1)、 '''+变量+'''的方式实现

 

1 name=input("name:") 2 age=input("age:") 3 job=input("job:") 4 salary=input("salary:") 5 6 info=''' 7 ------ info of '''+name+'''------- 8 Name:'''+name+''' 9 Age:'''+age+''' 10 Job:'''+job+''' 11 Salary:'''+salary+''' 12 ''' 13 print(info)

优缺点:开启多个内存空间,效率底下,尽量少用

(2)、%s的方式

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) print(info)

备注:

1、%s为占位符,其中s代表string,%(name,name,age,job,salary)必须与占位符的个数相同,否则会报错

2、%d,d代表只能是数字,不是数字类型则会报错,用于检测数据类型

3、%f,f代表是浮点

  问题 :使用%d时,需注意,input默认的时string,即使输入的是数字

 1 age=input("age:") 2 print(type(age)) 

  问题结果:

 1 age:30 2 <class 'str'> 

  解决:强至转换数据类型

1 age=input("age:") 2 age=int(age)#强制转换成数据类型,str->int 3 print(type(age))

  结果:

 1 age:30 2 <class 'int'> 

方法2的可调整为

1 name=input("name:") 2 age=input("age:") 3 age=int(age)#强制转换成数据类型,str->int 4 job=input("job:") 5 salary=input("salary:") 6 7 info=''' 8 ---------info of %s--------- 9 Name:%s 10 Age:%d 11 Job:%s 12 Salary:%s 13 '''%(name,name,age,job,salary) 14 print(info)

备注:age只能输入整数,输入小数则会出现无法执行数据类型转换

(3)、{变量}的方式实现

1 name=input("name:") 2 age=input("age:") 3 job=input("job:") 4 salary=input("salary:") 5 6 info=''' 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(info)

备注:_name类似函数的定义变量的赶脚...

另一种写法

1 # Author:Shang 2 # 用户输入,格式化输出 3 name=input("name:") 4 age=input("age:") 5 job=input("job:") 6 salary=input("salary:") 7 8 info=''' 9 ---------info of {0}--------- 10 Name:{0} 11 Age:{1} 12 Job:{2} 13 Salary:{3} 14 '''.format(name,age,job,salary) 15 print(info)

备注:类似数组的方式,缺点是如果数据较多,则该方法不合适

3、密码加密显示

1 import getpass #引用标准库getpass 2 3 username=input("username:") 4 password=getpass.getpass("password:") 5 6 print(username,password)

备注:getpass在Pycharm中不好用、不好用...(什么鬼?),但是在shell中可用(为什么我在shell中也不好用呢?甚至奇怪~)

4、if elif else

_username="shang" _password="123456" username=input("username:") password=input("password:") if username !=_username: print("用户名不正确") elif password != _password: print("密码有误") else: print("欢迎回来 {name}".format(name=username))

需注意,书写是,需要有严格的格式要求

5、Game:使用if-else猜年龄

1 age_of_ace=30 2 3 guess_age=int(input("guess age:")) #比较时,不能使用str进行比较 4 5 if guess_age > age_of_ace: 6 print("think younger") 7 elif guess_age < age_of_ace: 8 print("think older") 9 else: 10 print("yes,you get it!!!")

备注:作比较时,需要需讲比较双方的数据类型转化成一致

6、while循环

要求:错误循环三次后,结束游戏;猜对之后,直接结束

1 age_of_ace=30 2 count=0 3 4 while count<3: 5 guess_age=int(input("guess age:")) #比较时,不能使用str进行比较 6 if guess_age > age_of_ace: 7 print("think younger") 8 elif guess_age < age_of_ace: 9 print("think older") 10 else: 11 print("yes,you get it!!!") 12 break 13 count += 1 14 else: 15 print("oh,no! the game is over~")

备注:while-else的用法,这个略屌,跳出while之后,进行else的流程

7、while的应用

要求:在错误3次后,确认是否需要继续,如果继续,则继续进行循环,否则停止游戏

1 age_of_ace=30 2 count=0 3 4 while count<3: 5 guess_age=int(input("guess age:")) #比较时,不能使用str进行比较 6 if guess_age > age_of_ace: 7 print("think younger") 8 elif guess_age < age_of_ace: 9 print("think older") 10 else: 11 print("yes,you get it!!!") 12 break 13 count += 1 14 if count==3: 15 result=input("do you want to try again? Y/N:") 16 if result=="Y": 17 count=0 18 else: #while跳出后,进行else 19 print("the game is over")

在最后判断是否继续,当用户选择Y时,则清空循环次数,继续进行循环;其他选择时,则结束游戏

8、for循环

语法:for i in range(3)--i从0开始,依次递增,直至i>=3为止

1 age_of_ace=30 2 3 for count in range(3): 4 guess_age=int(input("guess age:")) #比较时,不能使用str进行比较 5 if guess_age > age_of_ace: 6 print("think younger") 7 elif guess_age < age_of_ace: 8 print("think older") 9 else: 10 print("yes,you get it!!!") 11 break 12 else: 13 print("oh,no! the game is over~")

备注:当不满足条件跳出for循环后,则执行最后的else;但是当break跳出后,则不执行最后一个else

9、for的间断循环执行

  每隔1个数执行一次

1 for i in range(0,10,2): 2 print("loop",i) #执行结果 loop 0 loop 2 loop 4 loop 6 loop 8

备注:其中(0,10,2),0代表开始的数值,10代表循环的此处,2代表步幅间距

10、continue 跳出本次循环继续进行下次循环

break 跳出整个循环

1 for i in range(0,10): 2 if i<5: 3 print("loop",i) 4 else: 5 continue 6 print("continue的应用") 1 #结果 2 loop 0 3 continue的应用 4 loop 1 5 continue的应用 6 loop 2 7 continue的应用 8 loop 3 9 continue的应用 10 loop 4 11 continue的应用

备注:只打印5次,后续的打印,被continue给跳过

 

转载于:https://www.cnblogs.com/ace722/p/9348933.html

相关资源:mt4 DMI指标源码
最新回复(0)