1,变量:python中的变量不需要声明就可以使用,其语法为
变量名称=变量值
①如果多个变量具有同样的值可以一起指定变量值 例如a=b=c=20
②还可以在啊同一行定义多个变量,中间使用,号隔开
例如:age = 18 ,name=“张三”
③如果变量不再使用可以将变量删除,以节省内存,删除变量的语法为
del 变量名称
2,变量的类型
int (有符号整形) : 例如 0,1,100 这样的整数
float(浮点型) : 例如 3.14 这样的小数
string(字符串): 例如 “abc” 这样用引号引起来的数据, 这里单引号和双引号都可以
bool(布尔类型): 例如 True/False 用来表达真或者假
3,变量命名规则
①变量名称的第一个字符必须是字母表中的大小写字母,一个下划线()或中文。
②其他部分只能由大小写字母,数字,下划线(),中文组成
③英文字母大小不同,则视为两个不同的变量
④变量名称不能与python内建的保留字相同,因为python是动态类型的语言。
4,怎么查看数据类型
type()函数可以直接查看变量的类型
5,数据类型的强制转换
int():强制转换为整形
float():强制转换为浮点型
str(): 强制转换为字符串型
普通输出:
print("hello world!!!!")
print("asd",end='\t')
b = 12.21
c = "aasfddafs"
#打印变量b和c的类型
print(type(b))
print(type(c))
格式化输出:在程序中,看到了%这样的操作符,就是Python中格式化输出.
格式化输出的作用: 可以在不改变print函数中的数据的情况下就可以输出不同的数据
color = "黑白色"
weight = 25.5
age = 10
print("白头哥的属性:颜色", color, "体重:", 35.5, "年龄:", age)
print(f'白头哥的属性:{color},体重{weight},年龄{age}')
print('白头哥的属性:{},体重{},年龄{}'.format(color,weight,age))
print(f"颜色{color},体重{weight:.02f},年龄:{age:03d}")
格式符号 转换
%c 字符
%s 字符串
%d 有符号十进制整数
%u 无符号十进制整数
%o 八进制整数
%x 十六进制整数(小写字母0x)
%X 十六进制整数(大写字母0X)
%f 浮点数
%e 科学计数法(小写’e’)
%E 科学计数法(大写“E”)
%g %f和%e 的简写
%G %f和%E的简写
转义符:
4,转义符(\)
\ 反斜杠符号
’ 单引号符号
‘’ 双引号符号
\a 响铃
\b 退格
\e 转义
\000 空
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,yy代表的字符
\xyy 十进制数,yy代表的字符
\other 其他的字符以普通的格式输出
在输出的时候,如果有\n那么,此时\n后的内容会在另外一行显示
print("1234567890-------") # 会在一行显示
print("1234567890\n-------") # 一行显示1234567890,另外一行显示---
#可以更换print输出的格式默认是\n换行
print(n, "*", i, "=", n * i, end='\t')
input()的小括号中放入的是,提示信息,用来在获取数据之前给用户的一个简单提示
input()在从键盘获取了数据以后,会存放到等号右边的变量中
input()会把用户输入的任何值都作为字符串来对待
sl = int(input("请输入你的选择:\n"))
int:表示强制类型转换,input默认输入的是str类型
运算符 描述 实例
复合赋值运算符
运算符 描述 实例
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c *= a 等效于 c = c * a
/= 除法赋值运算符 c /= a 等效于 c = c / a
%= 取模赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c **= a 等效于 c = c ** a
//= 取整除赋值运算符 c //= a 等效于 c = c // a
函数 说明
int(x [,base ]) 将x转换为一个整数
float(x ) 将x转换为一个浮点数
complex(real [,imag ]) 创建一个复数,real为实部,imag为虚部
str(x ) 将对象 x 转换为字符串
repr(x ) 将对象 x 转换为表达式字符串
eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s ) 将序列 s 转换为一个元组
list(s ) 将序列 s 转换为一个列表
chr(x ) 将一个整数转换为一个Unicode字符
ord(x ) 将一个字符转换为它的ASCII整数值
hex(x ) 将一个整数转换为一个十六进制字符串
oct(x ) 将一个整数转换为一个八进制字符串
bin(x ) 将一个整数转换为一个二进制字符串
示例:
>>> # int() 处理浮点数,只留下整数部分,舍弃小数部分(并不是四舍五入操作)
... num2 = int(3.74)
>>> print(num2)
3
if语句是用来进行判断的,其使用格式如下:
if 要判断的条件:
条件成立时,要做的事情
a = 1
if a < 1:
print("hello")
else:
print("错了")
elif的使用格式如下:
if xxx1:
事情1
elif xxx2:
事情2
elif xxx3:
事情3
示例:
print("规则")
print("输入你要出的拳仅限于1,2,3,⽯头(1)、剪⼑(2)、布(3)")
print("输入其它数字结束游戏,统计胜率")
num=0
computer_victory = 0
user_victory = 0
rank_number = random.randint(1,3)
while True:
ranke = int(random.random()*3)
sl = int(input("请输入你要出的拳仅限于1,2,3输入其它的退出游戏,⽯头(1)、剪⼑(2)、布(3):\n"))
if rank_number == 1 and sl == 1:
print('机器出的为:',ranke,'你出的为',sl,"平局")
num+=1
elif rank_number == 1 and sl == 2:
print('机器出的为:',ranke,'你出的为',sl,"机器胜")
computer_victory+=1
num += 1
elif rank_number == 1 and sl == 3:
print('机器出的为:',ranke,'你出的为',sl,"你胜")
user_victory+=1
num += 1
elif rank_number == 2 and sl == 1:
print('机器出的为:',ranke,'你出的为',sl,"你胜")
user_victory +=1
num += 1
elif rank_number == 2 and sl == 3:
print('机器出的为:',ranke,'你出的为',sl,"机器胜")
computer_victory+=1
num += 1
elif rank_number == 2 and sl == 2:
print('机器出的为:',ranke,'你出的为',sl,"平局")
num += 1
elif rank_number == 3 and sl == 1:
print('机器出的为:',ranke,'你出的为',sl,"机器胜")
computer_victory+=1
num += 1
elif rank_number == 3 and sl == 2:
print('机器出的为:',ranke,'你出的为',sl,"你胜")
user_victory+=1
num += 1
elif rank_number == 3 and sl == 3:
print('机器出的为:',ranke,'你出的为',sl,"平局")
num += 1
elif sl not in (1,2,3):
break
print("机器获胜的胜率:",(computer_victory/num)*100,"%")
print("用户获胜率为:",(user_victory/num)*100,"%")
print("平局率为:",(num-user_victory-computer_victory)/num*100,"%")
**while和if的用法基本类似,区别在于:if 条件成立,则执行一次; while 条件成立,则重复执行,直到条件不成立为止
一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成
循环不是必须要使用的,但是为了提高代码书写效率,所以有经验的开发者都会采用循环**
while循环的格式:
while 条件:
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
…(省略)…
示例:
i = 0
while i < 5:
print("当前是第%d次执行循环" % (i + 1))
print("i=%d" % i)
i+=1
死循环: 由于循环没有写终止条件, 导致循环持续执⾏,程序⽆法终⽌!一般情况下我们要防止死循环的产生.
#输出九九乘法表
line=0
while line<=9:
print(" ")
lie = 1
while lie <= line:
result =0
result = lie * line
print(lie,"*",line,"=",result,end='\t')
lie += 1
line+=1
#输出水仙花数
print()
j=0
k=0
l=0
i=1
print("1000以内的水仙花数为:")
while i<=1000:
j = i % 10
k = int(i / 10 % 10)
l = int(i / 100 % 10)
if j ** 3 + k ** 3 + l ** 3 == i:
print( i, end='\t')
i+=1
结果示例:
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16
1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25
1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36
1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49
1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64
1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81
1000以内的水仙花数为:
1 153 370 371 407
Process finished with exit code 0
格式:
for 临时变量 in 列表或者字符串等可迭代对象:
循环满足条件时执行的代码
i = 0
循环输出0到10
for i in range(10):
print(i)
#打印九九乘法表
for i in range(0, 10):
for n in range(1, i + 1):
print(n, "*", i, "=", n * i, end='\t')
print()
#打印字符串跳过空格
stri = "asd indf"
for i in stri:
print(i)
if i == "b":
print("遇到空格了")
break
else:
print("没有执行break,就执行本语句")
break的作用
立刻结束break所在的循环
continue的作用
用来结束本次循环,紧接着执行下一次的循环
break/continue只能用在循环中,除此以外不能单独使用
break/continue在嵌套循环中,只对最近的一层循环起作用