python基础语法

python 动态语言 强类型语言

算数运算符Opertor
 + - * / % **
 /:自然除
 //:整除

位运算符
 & | ~ ^ << >>

比较运算符
== != > < >= <=

逻辑运算符
与或非 and or not

赋值运算符
a = min(3,5)
+= -+ *= /= %=
x=y=z=10

成员运算符
in not in

身份运算符
is is not

表达式Expression
由数字、符号、括号、变量等的组合
算数表达式
逻辑表达式
赋值表达式
python中 赋值及定义 如果一个变量已经定义 赋值相当于重新定义

内存管理

变量无需事先声明,也不需指定类型
动态语言类型
编程中一般无需关心变量的存亡,也不用关心内存的管理

python使用引用计算器记录所有变量的引用数
当变量引用数变为0 它就可以被垃圾回收GC
计数增加:赋值给其它变量就增加引用计数,例如x=3,y=x
计数减少:
函数运行结束时,局部变量就会被自动销毁,对象引用计数减少
变量被赋值给其它对象,例如 x=3 y=x x=4
有关性能的时候,就需要考虑变量的引用问题,但是该释放内存,还是尽量不释放内存,看要求

真值表
对象/常量值
"" 假
"string" 真
0 假
>=1 真
<=-1 假
()空元组 假
[]空列表 假
{}空字典 假
None 假

while循环
while condition:
block

练习:给定一个不超过5位数的正整数,判断其有几位

while True:
try:
val = input("please input a integer,the integer is less than 100000:")
val = int(val)
if val < 0 or val >= 100000 :
print("invalid integer1")
continue
elif val >= 10000:
print(5)
elif val >= 1000:
print(4)
elif val >= 100:
print(3)
elif val >= 10:
print(2)
else:
print(1)
except:
if val == 'q':
break
else:
print("invalid integer2")
continue



例子:
flag = -10
while flag:
print(flag)
flag += 1

打印如下
-10
-9
-8
-7
-6
-5
-4
-3
-2
-1

for循环
for element in iteratable:
block

for i in range(10):
print(i+1)

循环continue
中断当前循环的当次执行,继续下一次循环

循环break

练习:给定一个不超出5位的整数,输出其位数,且顺序输出万,千,百,十,个位的数字
while True:
try:
val = input("please input a integer(the integer is less than 100000):")
val = int(val)
if val < 0 or val >= 100000 :
val = int
print("invalid integer,please input valid integer(more than 0 and less than 100000)")
continue
else:
if val >= 1000:
if val >= 10000:
bit_num = 5
else:
bit_num = 4
else:
if val >= 100:
bit_num = 3
elif val >= 10:
bit_num = 2
else:
bit_num = 1
print("the integer is:", bit_num, "bit")

for i in range(bit_num, 0, -1): #顺序输出整数的位
cur = val//10**(i-1) #求出最高位的数字
print(cur)
val = val - cur*(10**(i-1))#去掉最高位后的数值
except:
if val == 'q':
break
else:
print("invalid input,please input integer")
continue

循环else语句
语法:
while condition:
block
else:
block

for element in iteratable:
block
else:
block

循环正常结束,执行else语句;如果使用break终止,else语句不会执行

练习:
1.打印一个边长为n的正方形

n=int(input("input n:"))
for i in range(0, n):
if i == 0 or i == n-1:
print('*' * n)
#print()
else:

print('*' + (' ' * (n-2)) + '*')

第二种方法:
n=int(input("input n:"))
for i in range(0, n):
if i == 0 or i == n-1:
for j in range(0, n):
print("* ", end='')
print()
else:
for j in range(0, n):
if j == 0 or j == n-1:
print("* ", end='')
else:
print(" ", end='')
print()

2.求100以内所有奇数的和
3.判断学生成绩,成绩等级A~E,其中90分以上为'A',80~89为'B',70~79为'C',60~69为'D',60分以下为'E'
4.求1到5阶乘之和

sum = 0
jc = 1
for i in range(1, 6):
jc *= i
sum+=jc
print(sum)

sum = 0
for i in range(1, 6):
val = 1
for j in range(1, i+1):
val=val*j
print(val)
sum +=val
print("sum is:", sum)

posted @ 2019-11-05 10:10  wangyi429111  阅读(124)  评论(0编辑  收藏  举报