python学习笔记(一)

一、基础知识

#1、标准输入输出函数:

print(“字符串”)
input(“请输入提示信息:”)

#2、变量:(在程序运行中,可以发生变化的量:更加灵活的参与运算)
变量的定义
变量名称=变量值(变量值属于什么类型,赋予对于的数据类型–弱数据类型)
弱数据类型:python Javascript
强数据类型:c c++ c# java
变量命名规则
(1)变量名称只能是大小写字母 数字 下划线
(2)数字不可以开头
(3)不能使用关键字或者保留字
(4)变量命名有意义(可读性要高)—推崇下划线命名法 也可以使用小驼峰法(大驼峰法是给类命名的)
#3、数据类型:
基本数据类型:
(1)数值型-number
int整数型 long长整型 float浮点型 complex复数
(2)字符串-string
单引号 双引号 三引号 注意对应前后即可
(3)布尔-boolean
True真 False假 (关键字-代表两种状态)
复合数据类型(引用|对象): 没办法使用简单的数据类型表示的数据类型
list、tuple、set、dict、对象……
#4、全局函数:

print  	#标准输出函数 
input  	#标准输入函数
int   	#将字符串转化为整型
str 	#将字符串转化为字符串
float   #将字符串转化为浮点型
type	#返回变量对应的类型

#5、运算符:
(1)算术运算符:

+ - * / %(求余数。求模) //(地板除法-整除) **(求幂次方)

(2)赋值运算符:

=  a=10 
+= a=a+10
-= *= /= //=

(3)关系运算符:

> < >= <= == != (返回一个bool值)

(4)逻辑运算符:

and-并 or-或 not-取反

注:python中没有自增自减运算符,使用+=或 -=来代替

#6、数据输出的格式:

print("您的年龄是:%s" %age)							 #%s的位置输出age的值
print("您的年龄是:%s,我爹的年龄是:%s" %(age,a)) 	 #此时第一个%s将会附上age的值,第二个%s将附上a的值

注:在Windows以外的平台(Linux)运行py程序,需要在最前面加上平台注释

#!/usr/bin/python用来指定用什么解释器运行脚本,以及解释器的位置

#7、python中的空值:

>>> a = None
>>> print(a)
None
>>> print(type(a))
<class 'NoneType'>

#8、关键字和保留字: python中有特殊含义的单词或词组
(1)查看python中的关键字—导入模块,查看模块中可用的变量、方法、类、常量等

>>> import keyword(可以将keyword重命名为kw,之后使用keyword的时候即可使用kw代替:import keyword as kw)
>>> dir(keyword) 
['__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'iskeyword', 'kwlist', 'main']

#类似双下划线的表示特殊作用的变量
keyword.kwlist  #返回一个列表
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

(2)全局函数

dir(模块名称)      	#用来查看模块中的变量、方法、类、常量等。例如dir(keyword)
help(方法名称)      #查看方法的使用规则、帮助文档。例如help(math.ceil)   
round() 			#四舍五入
sorted(可迭代的对象)  #产生排序,但是原来的值不发生改变
print
input
len
max
min
range 				#传递一个值,默认表示取一个区间内的整数,从0开始;或者range(x,y),前闭后开区间[x,y)

二、选择结构-单分支、双分支、多分支

顺序 :代码都是从左到右,从上到下执行多个语句之间,且python是强制缩进的语言
#1、选择结构 单分支、双分支、三分支(多分支)
(1)单分支:(一般只适用于一种极限情况)

	age = input(“请输入您的年龄:”)
	age = int(age)
	if age > 18:
		print(“您可以干一些成年人干的事儿了”)
	
	eg:if 条件:
			#条件成立之后执行的代码(可写多条代码,需要严格缩进)

(2)双分支:(多种极限情况)

		age = input(“请输入您的年龄:”)
		age = int(age)
		if age > 18:
			print(“您可以干一些成年人干的事儿了”)
		else:
			print(“你还没有成年”)
		eg:if 条件:
				#条件成立之后执行的代码
			else:
				#条件成立执行的代码

(3)三分支(多分支):

		if condition:
			#符合条件1,执行本行代码
		elif condition:
			#符合条件2,执行本行代码
		elif condition:	
			#符合条件3,执行本行代码
		……
		else:	
			#剩余其他条件

#2、循环的使用

#While 条件:
	#循环体
#for循环(for in 循环)
	for 变量 in 可迭代对象

#3、复合数据类型—list(底层实现是使用链表)—python是弱数据类型—由赋的值确定数据类型
(1)得到一个列表

变量名称 = []
变量名称 = [1,2,4,5,89]

(2)得到全局函数list构造一个列表

变量名称 = list() 				#得到一个空列表
变量名称 = list([1,2,3,6,78,89])	#如果list中有参数,则必须是一个列表

#4、常用方法

in								#判断一个元素是否在一个列表中
list.append(值) list.pop(值) 	#在列表最后一位添加/删除元素
clear()							#清空列表
insert(index,值)				#指定位置插入数据,append的本质--insert
remove() 						#移除(通过数值移除)元素不在列表中会报错		
reverse()						#翻转列表							  		
sort()							#排序,该方法只能用于元素为同一类型的列表 	
len(list)						#元素个数 
list[len(list) - 1]				#下标最大值 

注:可以使用下标的方式对列表进行访问(首元素:列表名称[0],以此类推),并且可以存不同数据类型的元素。

#5、math以及random使用
math模块:系统提供了一系列关于数学运算的方法

import math
math.ceil()  #向上取整
math.floor() #向下取整
math.sin()
math.cos()
math.tan()
math.pi		 #求PI的值
math.e		 #求e的值
math.pow()   #幂次方
math.sqrt()  #开根号

#6、随机数random模块

import random
random.randint(x,y) 			#全闭区间,int值
random.random()     			#取一个[0,1)随机数,前闭后开区间
random.choice([1,2,3,45,6])  	#从容器中随机取出一个元素

注:python中空格跟Tab混用会报错,注意不要混用!且python中没有do …… while循环
练习1:

list1 = ["la","be","ci","de"]

#循环遍历列表---for方法
for x in list1:
	print(x)
#循环遍历列表---while方法	
index = 0
while index < len(list1):
	print(list1[index])
	index += 1

练习2:
求和(包括奇、偶求和,求积)

#使用for循环完成0-100的和(需要使用新的全局函数)range
sum = 0
for i in range(101):
	sum += i
print(sum)
#----------------------------------------------------------------------------------
#使用for循环完成10-100的和(需要使用新的全局函数)range
sum = 0
for i in range(10,101):
	sum += i
print(sum)
#----------------------------------------------------------------------------------
#使用for循环完成0-100的偶数和(需要使用新的全局函数)range
sum = 0
for i in range(101):
	if i%2 == 0
		sum += i
print(sum)
#另一种方法求0-100的偶数和
sum = 0
for i in range(0,101,2):     #(第三个参数代表的步长,即此时i的值为偶数)
	sum += i
print(sum)
#----------------------------------------------------------------------------------
#使用for循环完成0-100的奇数和(需要使用新的全局函数)range
sum = 0
for i in range(101):
	if i%2 == 1
		sum += i
print(sum)
#另一种方法求0-100的奇数和
sum = 0
for i in range(1,100,2):   	#(第三个参数代表的步长,即此时i的值为奇数)
		sum += i
print(sum)
#----------------------------------------------------------------------------------
#求奇数的乘积(for循环)
sum = 1
for i in range(3,100,2):   
		sum *= i
print(sum)
#----------------------------------------------------------------------------------
#计算1-20之间所有数字的乘积
index = 1
sum = 0
while index < 20:
	if index ==10:
	#break关键字表示打断,终止循环,当index值为10时终止循环
	break
	sum *= index
	index += 1
#python中存在循环之后再执行else
else:
	print("1-20乘积为",sum)
#else是循环正常结束之后才执行的,否则不执行
#----------------------------------------------------------------------------------
#验证continue以及break(continue代表跳过本次循环、break代表终止循环)
i = 0
while i < 100:
	i += 1
	if i == 50:
		#continue
		break
	else:
		print(i)
else:
	print("循环正常结束")
print("程序结束")

练习3:
需求:请输入您的成绩,做出及格判断
如果是0分,直接输出0分;0-60,不及格;60-80,良好;80-99,优秀;100,很棒

score = int(input("请输入您的成绩:"))
#使用单分支、多分支组合的方法进行编写,有点繁琐
if score > 100 or score < 0:
	print("您输入的成绩不合法")
else:
	if score == 0:
		print("0分,辣鸡")
	else:
		if score > 0 and score < 60:
			print("不及格")
		else:
			if score >=60 and score < 80:
				print("及格")
			else:
				if score >=80 and score < 90:
					print("优秀")
				else:
					if score >=90 and score < 100:
						print("很优秀")
					else:
						print("满分")

练习4:
输入两个数求它们的和并输入

#此处并未对输入的字符做判断,默认输入合法字符进行运算
num1 = int(input("请输入第一个数:"))
num2 = int(input("请输入第二个数:"))
print("%s + %s = %s"%(num1,num2,(num1+num2)))

练习5:
输入长方形的长、宽。判断是否合法,之后计算周长和面积
长方形.py

#接受参数
width = int(input("请输入矩形的长(单位,米):"))
height = float(input("请输入矩形的高(单位,米):"))
#数据校验
if width <= 0 or height <=0 :
	print("对不起,您输入的有误")
#计算面积
else:
	area = width * height
	around = 2 * (width + height)
	print("长方形的面积为%s"%area)
	print("长方形的周长为",around)

练习6:
9x9乘法表( print(“ajhdka”,end="")可以使输出不换行 )

#打印9×9乘法表,使用双重循环。外层循环控制行,内层循环控制列
for x in range(1,10):
	for y in range(1,x+1):
		res=x*y
		if res > 9:
			print("%s X %s = %s" %(y,x,res),end=" ")
		else:
			print("%s X %s = %s" %(y,x,res),end="  ")
	print("")

练习7:
打印*,各种形状

#打印菱形*号
layer = int(input("请输入要打印的层数:"))
for x in range(1,layer+1):
	space_num = layer - x
	for y in range(0,space_num):
		print(" ",end="")
	 #先打印空格,再打印*号
	star_num = 2*x - 1
	for y in range(0,star_num):
		print("*",end="")
	#换行
	print("")
for x in range(layer - 1, 0 , -1):
	space_num = layer - x
	for y in range(0,space_num):
		print(" ",end="")
	 #先打印空格,再打印*号
	star_num = 2*x - 1
	for y in range(0,star_num):
		print("*",end="")
	#换行
	print("")
#----------------------------------------------------------------------------------
#打印直角*号
layer = int(input("请输入要打印的层数:"))
for x in range(1,layer+1):
	for y in range(1,x+1):
		print("*",end = " ")
	print("")	
#----------------------------------------------------------------------------------	
#打印等腰*号	
for x in range(1,layer+1):
	space_num = layer - x
	for y in range(1,space_num+1):
		print(" ",end="")
	#先打印空格,再打印*号
	star_num = 2*x - 1
	for y in range(0,star_num):
		print("*",end="")
	#换行
	print("")
#----------------------------------------------------------------------------------
#打印空心菱形
layer = int(input("请输入要打印的层数:"))
for x in range(1,layer+1):
	space_num = layer - x
	for y in range(0,space_num):
		print(" ",end="")
	 #先打印空格,再打印*号
	star_num = 2*x - 1
	for y in range(0,star_num):
		if y == 0 or y == star_num-1:
			print("*",end="")
		else:
			print(" ",end="")
	#换行
	print("")
for x in range(layer - 1, 0 , -1):
	space_num = layer - x
	for y in range(0,space_num):
		print(" ",end="")
	 #先打印空格,再打印*号
	star_num = 2*x - 1
	for y in range(0,star_num):
		if y == 0 or y == star_num-1:
			print("*",end="")
		else:
			print(" ",end="")
	#换行
	print("")

作者:苏小酱

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值