a = int(input('>>>'))
for i in range(a):
print('#'*a)
#?请打印一个空心正方形
a = 5
print('*'*a)
for i in range(a-2):
print('*'+' '*(a-2)+'*')
print('*'*5)
#简单实现,是否可以引用for 循环来实现
a = 5
for i in range(a):
if i == 0 or i == (a-1):
print('*'*a)
else:
print('*'+' '*(a-2)+'*')
# range 函数前包后不包,注意边界问题
a = int(input('>>>'))
n = a//2
for i in range(-n,n):
if i == -n or i == n-1:
print('#'*a)
else:
print('#' + ' '*(a-2) + '#')
# 对称负索引的使用,但是打出来是边长相等的吗,后边界对于奇数而言 n = n-a ,会不足奇数项
a = 0
sum = 0
for i in range(1,100,2):
a = a + i
sum = sum + i
print(sum)
sum = 0
for i in range(1,100,2):
sum += i
print(sum)
# += 的巧妙使用
sum = 0
for i in range(1,100):
if i%2 != 0:
sum = sum + i
print(sum)
# 用取模作为奇数的判断条件
score = int(input('please input your score>>>'))
if score > 70:
if score > 90:
print('A')
elif score > 80:
print('B')
else:
print('C')
else:
if score > 60:
print('D')
else:
print('E')
#注意边界,注意区间的取值范围
n = 1
sum = 0
for i in range(1,6):
n *= i
sum += n
print(sum)
sum = 0
for i in range(1,6):
tmp = 1
for j in range(1,i+1):
tmp *= j
sum += tmp
print(sum)
#循环的嵌套使用,和l临时变量的使用
num = int(input('please input your number>>>'))
for i in range(2,num):
if num % i == 0:
print('No')
break
else:
print('Yes')
#contnue 和 break 不是跳出语句块,所以if cond;break 不是跳出if,而是终止if 外的break所在的循环
#else 如果循环正常的执行结束,就执行else子句;(谜之else)
#如果使用break终止,else子句不会执行
num = int(input('please input your number>>>'))
flag = False
for i in range(2,num):
if num % i == 0:
flag = True
break
if flag:
print('No')
else:
print('Yes')
#引入一个标记,作为条件的判断
" " 假
"string" 真
0 假
>=1 真
<=-1 真
()空元组 假
[]空列表 假
{}空字典 假
None 假
a = int(input('>>>'))
while True:
b = int(input('>>>'))
if b:
int(b)
if a > b:
print(a)
else:
a = b
print(a)
else:
break
#以前的固有思维,对于if 条件的使用
m = int(input('>>>'))
while True:
c = input('>>>')
if c:
n = int(c)
if n > m:
m = n
print(m)
else:
break
#作为python 语法条件的使用
#相同类型则可以比较大小
#不同类型可以比较是否相等
a = int(input('>>>'))
b = int(input('>>>'))
print(a) if a>b else print(b)
max = int(input('>>>'))
flag = True
while flag:
n = input('>>>')
if n == 'quit':
flag = False
else:
c = int(n)
if c > max:
max = c
print(max)
#引号引起来为字符串
sum = 0
count = 1
num1 = int(input('>>>'))
while True:
num2 = input('>>>')
if num2 == 'quit':
break
else:
num2 = int(num2)
count += 1
sum = num1 + num2
avg = sum/count
print(avg)
#注意变量的重复赋值的迷惑性,break 跳出循环的巧妙使用,相比于打标签
for i in range(1,10):
for j in range(1,i+1):
line = str(i) + '*' + str(j) + '=' + str(i*j)
print(line,end=' ')
print()
#print 为另起一行打印
for i in range(1,10):
for j in range(1,i+1):
print(('{}*{}={:2}'.format(j,i,j*i)),end=' ')
print()
# 利用format 函数格式化输出
for i in range(1,10):
line = ' '
for j in range(1,i+1):
line += '{}*{}={:2} '.format(j,i,i*j)
print(line)
#format 函数单引号里面的格式代表的输出格式
for i in range(1,10):
line = ' '
for j in range(1,i+1):
line += '{1}*{0}={2:2} '.format(j,i,i*j)
print(line)
#format 函数默认索引为0,1,2.索引可以指定后面变量的使用
for i in range(1,10):
for j in range(1,10):
if j <= i:
print(str(j) + '*' + str(i) + '=' + str(i*j),end=' ')
print()
# j 的取值范围巧妙做出判断
for i in range(1,10):
line = ''
for j in range(1,10):
if j >= i:
line += str(i) + '*' + str(j) + '=' + str(i*j) + ' '
print('{:>70}'.format(line))
#format 函数,<表示向左移动,> 表示向右移动
for i in range(1,10):
line = ' '
for j in range(1,10):
if j >= i:
line += '{}*{}={:{}} '.format(j,i,j*i,2)
print('{:>66}'.format(line))
#format 函数的嵌套赋值
for i in range(1,10):
line = ' '
for j in range(1,10):
if j >= i:
line += '{}*{}={:<{}}'.format(j,i,j*i,2 if j < 4 else 3)
print('{:>66}'.format(line))
#三目运算的回顾使用
num = int(input('>>>'))
a = num//2
for i in range(-3,4):
if i < 0:
space = -i
else:
space = i
print(' '* space + '*'*(num-space*2))
#对称性的使用
a = int(input('>>>'))
n = a//2
for i in range(-n,a-n+1):
if i < 0:
i = -i
print(' '*i + '*'*(a-i*2))
#python 语法实现
num = int(input('>>>'))
e = num//2
for i in range(-e,n-e):
if i < 0:
prspace = -i
else:
prspace = i
print(' '*(e-prspace) + '*'*(2*prspace+1))
打印⚡:
for i in range(-3,4):
if i < 0:
print (' '*(-i) + '*'*(4+i))
elif i > 0:
print(' '*3 + '*'*(4-i))
else:
print('*'*7)
num = int(input('>>>'))
e = num//2
for i in range(-e,e+1):
if i < 0:
print (' '*(-i) + '*'*(e+1+i))
elif i > 0:
print(' '*3 + '*'*(e+1-i))
else:
print('*'*num)
#注意变量的关系,和之间的替换
num1 = 0
num2 = 1
print(num1,num2,sep='\n')
while True:
num3 = num1 + num2
num1 = num2
num2 = num3
print(num3)
if num3 > 100:
break
num1=0
num2=1
while True:
num1,num2 = num2,num1+num2
print(num2)
if num2 > 100:
break
#简单写法
num1=0
num2=1
count = 2
while True:
num1,num2 = num2,num1+num2
count +=1
if count == 101:
print(num2)
break
#注意 是0 开始还是1 开始
num1=0
num2=1
count = 2
while True:
num1,num2 = num2,num1+num2
count +=1
if count == 101:
print('{},{}'.format(count,num2))
break
#format 函数的回顾使用
a = 1
b = 1
print(a)
print(b)
while True:
a,b = b,a+b
if b > 100:
break
print(b)
#不同的写法注意边界问题
import datetime
start = datetime.datetime.now()
for i in range(3,100000,2):
for j in range(3,int(i**0.5)+1,2):
if i%j == 0:
break
else:
print(i)
delta = (datetime.datetime.now()-start).total_seconds()
print(delta)
import datetime
start = datetime.datetime.now()
for i in range(3,100000):
if i%2 == 0 or i%5 == 0:
continue
else:
for j in range(3,int(i**0.5)+1,2):
if i%j == 0:
break
else:
print(i)
delta = (datetime.datetime.now()-start).total_seconds()
print(delta)
#datetime 函数的引入
#continue 的使用
#注意二层循环引用一层循环的变量,减少程序的空运行
list = [2]
for i in range(3,10,2):
for j in list:
if i%j == 0:
break
else:
print(i)
list.append(i)
print(list)
#列表的引入
#算法的引入:一个合数一定可以分为几个素数的成绩。
peach = 1
for i in range(9):
peach = 2*(peach+1)
print(peach)
# 简单的数学问题代码实现
triangle = [[1],[1,1]]
n = 9
for i in range(2,n):
newline = [1]
pre = triangle[i-1]
for j in range(i-1):
val = pre[j] + pre[j+1]
newline.append(val)
newline.append(1)
triangle.append(newline)
print(triangle)
n = 9
print([1])
pre = [1,1]
print(pre)
for i in range(2,n):
newline = [1]
for j in range(i-1):
val = pre[j] + pre[j+1]
newline.append(val)
newline.append(1)
print(newline)
pre = newline
n = 9
for i in range(n):
newline = [1]
if i == 0:
print(newline)
continue
for j in range(i-1):
val = pre[j] + pre[j+1]
newline.append(val)
newline.append(1)
print(newline)
pre = newline
n = 9
pre = [1]
print(pre)
pre.insert(0,0)
pre.append(0)
for i in range(1,n):
newline = []
for j in range(i+1):
val = pre[j] + pre[j+1]
newline.append(val)
print(newline)
pre = newline
pre.insert(0,0)
pre.append(0)
n = 9
pre = [1]
print(pre)
pre.append(0)
for i in range(1,n):
newline = []
for j in range(i+1):
val = pre[j-1] + pre[j]
newline.append(val)
print(newline)
pre = newline
pre.append(0)
1 2 3 1 4 7
4 5 6 --------> 2 5 8
7 8 9 3 6 9
matrix = [[1,2,3],[4,5,6],[7,8,9]]
for i,row in enumerate(matrix):
for j,col in enumerate(row):
if i < j:
matrix[i][j],matrix[j][i] = matrix[j][i],matrix[i][j]
print(matrix)
matrix = [[1,2,3],[4,5,6],[7,8,9]]
length = len(matrix)
for i in range(length):
for j in range(i):
matrix[i][j],matrix[j][i] = matrix[j][i],matrix[i][j]
print(matrix)
1 2 3 1 4
-------> 2 5
4 5 6 3 6
matrix = [[1,2,3],[4,5,6]]
tm = []
for row in matrix:
for i,col in enumerate(row):
if len(tm) < i + 1:
tm.append([])
tm[i].append(col)
print(matrix)
print(tm)
num = input('>>>')
d = {}
for c in num:
if not d.get(c):
d[c] = 1
continue
d[c] += 1
print(d)
num = input('>>>')
d = {}
for c in num:
if c not in d.keys():
d[c] = 1
else:
d[c] += 1
print(d)
import random
n = 100
nums = [0] * n
for i in range(n):
nums[i] = random.randint(-1000,10000)
print(nums)
t = nums.copy()
t.sort()
print(t)
d = {}
for x in nums:
if x not in d.keys():
d[x] = 1
else:
d[x] += 1
print(d)
d1 = sorted(d.items())
print(d1)
import random
alphabet = 'abcdefghijklmnopqrstuvwxyz'
words = []
for _ in range(100):
words.append(''.join(random.choice(alphabet) for _ in range(2)))
d = {}
for x in words:
d[x] = d.get(x,0) + 1
print(d)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。