花了几个小时连看带敲简单了解了下Python的语法,实在是太香了.jpg
import math # 数学函数
import random # 随机数函数
苹果 = 50 # 在插件帮助下可以用中文直接当变量名,tql
水果 = '苹果' # 也完全不需要声明类型,tql
print('\n', 苹果) # 也不用分号什么的,单双引号还不敏感,tql
if 苹果 > 20: # if完全不需要括号,只需要一个冒号,tql
print('一大堆苹果!')
# Python的缩进有实际意义,不能像c/cpp/csharp那样瞎jb缩进
print(type(苹果), type(水果)) # 查看类型的指令。Python就六种父数据类型,tql
print(苹果)
a = 20
b = 9
a //= b # 整数取余
print(a, end='\n\n') # print默认结尾换行,可以通过end=修改末尾的处理,tql
# 下面是块注释
'''打个斐波那契数列
a,b=0,1
while b<1e20:#while循环的使用
print(b)
a,b=b,a+b
else:#else同样可以放在while中使用,while判断条件为false时执行
print(b)
'''
t = list(range(1, 11, 2)) # 创建队列,range是自带的遍历函数
# range(起点(含),终点(不含),步长(默认1,还可以为负))
# 除了终点都可以省,也不用打逗号什么的
# 第一个
for i in t:
if i == 7:
continue # 这些continue break的用法都和c一样,包括很多数学函数都一样
if i == 7:
break
print(i)
print(math.pow(2, i)) # 幂函数
print(math.log10(i)) # 取对数
print(math.floor(random.uniform(0, 100)))
# 随机数函数随机选取范围内的一个实数,然后floor向下取整
print() # 换个行
def 比较(a, b): # 自定义函数,同样不需要什么花括号,tql
if (b > a): # 习惯性的加上了括号(
print('b比a大!')
return
elif a > b: # py里的else if被简化成了elif,tql
print('a比b大!')
return
else:
print('它们一样大!')
return
a, b = 20, 10
比较(a, b)
a, b = b, a # woc,看这优雅的交换!tql
比较(a, b)
c = a
a = b
比较(c, b)
# 运行结果仍然是b比a大,可见py创建变量是赋值,改变原变量并不会导致新变量变化
比较(a, b) # 这就是一样大了
# input(描述) #py的输入函数,输入一行(含空格)字符输入,默认输出格式为str
# 如果需要改变输出格式,需要这么写:(int(input()))
# 如果规定了格式而输入并非这个格式(比如上面的代码输入hello)会直接原地报错
list1 = ['啊这'] * 3 # 创建一个列表,中括号里是赋值,外面是重复(相当于下标)
print(list1)
# 上面那玩意会打出中括号和逗号,如果我不想打印这些格式呢?
for i in list1: # 这里的i并不是下标,而是一个变量,是队列中某一位置的值
print(i, end=' ') # 直接打印i而不是list1[i]
print()
list2 = [[0] * 3] * 3 # 那么这是一个3*3的二维数组...吗?
list2[0][1] = 1 # 改变一个值看看
print(list2) # 事实上,三行的第二个数值都被改变了
# 因为以这种方式创建的列表实际上属于引用,三个列表指向同一个内存
# 那么修改其中一个位置,自然所有的数值都会改变
# 那么如何创建一个真正的二维数组?
list3 = [[0 for i in range(3)] for i in range(3)] # 就像这样
list3[0][1] = 3
# 以空格间隔打印所有的数组元素
print(list3)
for i in range(len(list3)):
for j in range(len(list3)):
print(list3[i][j], end=' ')
print()