每一位成功者的背后都有一个鲜为人知的故事,都要面对黎明前的黑暗,当一个人面临困境的时候,坚持一下,再坚持一下,成功就在前面等着你!
解决问题很厉害的人,一定是编程高手!
三元表达式
print(a) if a > b else print(b)
练习1:给一个半径,求圆的面积和周长。圆周率为3.14
pi=3.14
r=float(input('>>>'))
area=pi*(r**2)
cr=2*pi*r
print(area,cr)
练习2:输入两个数,比较大小后,从小到大升序打印;
#
num1=int(input('>>>'))
num2=int(input('>>>'))
if num1 > num2:
print(num2,num1)
else:
print(num1,num2)
练习3:获取最大值:依次输入若干个整数,打印出最大值,如果输入为空,则退出程序;
#思路1:记录用户输入,利用list
list = []
flag = True
while flag:
val = (input('>>>'))
if val == '':
flag = False
continue
list.append(val)
print(list)
max(list)
#思路2:常规思路,只要最大值;
练习4:输入n个数,求每次输入后的算术平均数;
count = 0
sum = 0
while True:
num = int(input('>>>'))
count += 1
sum += num
print('Avg = ',sum / count)
99乘法表
总结:
1.print函数的用法; print(value,...,seq=' ',end='\n');8个字符为一个整体
循环中加line\print() 可以等同于 print(end=' ') ;
8个字符为一个整体
print(1,2,1000,sep='@',end='\t')
print(3)
print(4)
----------------------------------------
1@2@1000 3
4
# 思路1:最基础原始的写法
for i in range(1,10):
line = ''
for j in range(1,i+1):
line += str(j)+'*'+str(i)+'='+str(i*j)+'\t'
print(line)
---------------------------------------------------
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
#缺点:可能没对齐
# 思路2:for循环
for i in range(1,10):
for j in range(1,i+1):
print("{}*{}={}\t".format(j,i,i*j),end='')
print()
----------------------------------------------------------------
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
去掉没对齐的地方
#思路1:常规写法
for i in range(1,10):
line = ''
for j in range(1,i+1):
pro=i*j
if j > 1 and pro < 10:
pro = str(pro) + ' '
else:
pro = str(pro) + ' '
line += str(j) + '*' + str(i) + '=' + pro
print(line)
思路2:format :函数默认右对齐,加<左对齐;
for i in range(1,10):
for j in range(1,i+1):
print("{}*{}={:<2}".format(j,i,i*j),end=' ')
# {:<2} 表示i*j的数值占两个字符位;并左对齐;
print()
-----------------------------------------
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
#思路四:解决上面不规整的问题;第一列间隔多一个字符;
for i in range(1,10):
for j in range(1,i+1):
if j < 2:
print("{}*{}={:<2}".format(j,i,i*j),end=' ')
else:
print("{}*{}={:<3}".format(j,i,i*j),end=' ')
print()
#思路四:简易写法
for i in range(1,10):
for j in range(1,i+1):
print("{}*{}={:<{}}".format(j,i,i*j,2 if j<2 else 3),end=' ') #表达式可以放进去;
print()
-----------------------------------------------------------------------
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
网友评论