Python常见分⽀、循环结构例题演练!
⼩⽩如何成为python数据分析师
第三天----代码演练
要掌握新的知识,除了多看,更重要的还是得多练,正所谓熟能⽣巧,当你将某⼀个知识点应⽤的得⼼应⼿,相应的你对这个知识点已经有了⾃⼰透彻的理解,⽇积⽉累下可想⽽知是多么了不起的!
1.分⽀结构和循环结构----的代码练习!
⼀.分⽀结构
在Python中,要构造分⽀结构可以使⽤if、elif和else关键字。所谓关键字就是有特殊含义的单词,像if和else就是专门⽤于构造分⽀结构的关键字,很显然你不能够使⽤它作为变量名。
多分⽀结构:代码越扁平越好,扁平可读性好。可以嵌套使⽤,但是不能嵌套的太深,影响可读性。不可读就⽆法维护。ascii编码大a
代码块:保持相同缩进的就是⼀个代码块;
1.英制单位转换为公制单位:
x =float(input('请输⼊长度:'))
print(f'{x} = {x * 2.54}厘⽶')
2.英制单位英⼨和公制单位厘⽶互换:
# 我们要确定输⼊单位的是英⼨还是厘⽶,才好进⾏下⼀步的转换计算。
# 我们不确定输⼊的格式是否正确及计算次数。可以使⽤while循环实现。
while True:
value =float(input('请输⼊长度'))
python基础代码100例# float:输⼊为浮点数。
unit =input('请输⼊单位: ')
if unit =='in'or unit =='英⼨':
# 判断输⼊单位,
print('%f英⼨ = %f厘⽶'%(value, value *2.54))
elif unit =='cm'or unit =='厘⽶':
# 判断输⼊单位,
print('%f厘⽶ = %f英⼨'%(value, value /2.54))
else:
print('请输⼊有效的单位')
# 想让循环结束,可以使⽤“break”关键字,或者设定循环条件,不满⾜时退出。
3.分段函数求值,—> 如何构造多个分⽀
分段函数求值,
3x-5,x>1
f(x)=x+2,-1<=x<=1
5x+3,x<=-1
x =float(input('x='))
if x >1:
y =3* x -5
elif x >=-1:
y = x +2
else:
y =5* x +3
print(f'f(x)={y}')
# 我们也可以⼀直使⽤if来构造分⽀:只是会⽐较不⽅便。
x =float(input('x='))
if x >1:
y =3* x -5
if x >=-1:
y = x +2
if x <=-1:
y =5* x +3
print(f'f(x)={y}')
4.个⼈所得税计算器
total =float(input('本⽉收⼊: '))
insurance =float(input('五险⼀⾦扣除: '))
E = total - insurance
I = E -3500
if0< I <=1500:
R =0.03
D =0
elif I <=4500:
R =0.1
java恶搞代码大全D =105
elif I <=9000:
R =0.2
D =555
elif I <=35000:
R =0.25
D =1005
elif I <=55000:
R =0.3
D =2755
elif I <=80000:
R =0.35
D =5505
else:
R =0.45
D =13505
if I >0:
T = I * R - D
else:
T =0
print(f'应纳税款: {T:.2f}元')
print(f'税后收⼊: {E - T:.2f}元')
⼆.循环结构
循环结构就是程序中控制某条或某些指令重复执⾏的结构。在Python中构造循环结构有两种做法,⼀种是for-in循环,⼀种是while循环。for-in循环
# 输出0~100的整数。
for i in range(1,101):# 在0~100取数。
print(i)
注意:在编程语⾔中,括号”()“都是左闭右开:左边闭区间,右边开区间,所以想取完数就得n+1。
1.1~100求和:
t =0
for i in range(1,101):
t += i
print(f'和为:{t}')
# 我们也可以直接调⽤函数模块计算。
total =sum(range(1,101))
print(total)
2. 1~100求3或者5的倍数和:
total =0
for i in range(1,101):
if i %3==0or i %5==0:
total += i
print(total)
3.实现1-100之间的偶数求和,奇数求和
# 偶数和
total =0
for i in range(2,101,2):
# 直接利⽤步长取出偶数。
total += i
print(total)
#奇数和
total =0
for i in range(1,101):
if i %2!=0:
total += i
else:
pass
#跳过
print(total)
4.输⼊你,求n!------->n!=n*(n-1)(n-2)…
n=int(input('N='))
total =1
if n>0:
for i in range(1,n+1):
total*= i
print(total)
5.输⼊两个数,到它们的公约数
x=int(input('x='))
y=int(input('y='))
for i in range(x,0,-1):
if x%i==0and y%i==0:
print(i)
# break结束,到就结束,
break
用access做学生成绩管理系统# ⽅法⼆---奥基⾥德算法求公约数.
x =int(input('x='))
y =int(input('y='))
while y % x !=0:
# x = y % x
# y = x
x, y = y % x, x
java数据库读写分离怎么实现print(x)
6.输⼊N,输出1-N以及它们对应的平⽅⽴⽅、的NN次⽅
n =int(input('请输⼊n='))
print('N'.ljust(10), end='')
# 输出元素距离10,不换⾏
print('N^2'.ljust(10), end='')
print('N^3'.ljust(10), end='')
print('N^N'.ljust(10))
for i in range(1, n+1):
print(f'{i:<10d}{i ** 2:<10d}{i ** 3:<10d}{i ** i:<10d}')
课后练习
练习了这么多,相信你对分⽀结构,循环结构有了⾃⼰的认知,动⼿⾃⼰试试下⾯的例题,检验⾃⼰学到了多少。
1. 出100~999之间的⽔仙花数(各位数字的⽴⽅和刚好等于这个数本⾝)
153 = 1^3 + 5^3 + 3^3
2. 出1~10000之间的完美数(除⾃⾝外所有因⼦的和等于这个数)
6 = 1 + 2 + 3
28 = 1 + 2 + 4 + 7 + 14
3. 输⼊m和n(m >= n),计算C(m, n)的值 ---> m! / (n! * (m - n)!)
4. 输⼊⼀个正整数,判断它是不是质数(只能被1和⾃⾝整除的数)
5. 输⼊三⾓形三条边的长度,如果能构成三⾓形就计算周长和⾯积,
如果不能构成三⾓形,提⽰⽤户重新输⼊,直到正确!
# 1.寻⽔仙花数:
for i in range(100,1000):
low = i %10
# 取个位
mid = i //10%10
# 取⼗位
high = i //100
# 取百位
if i== low**3+mid**3+high**3:
print(i)
print('⽔仙花数有:')
# 2.出1~10000的完美数,
# 2.出1~10000的完美数,
for i in range(1,10001):
num =0
for k in range(1, i):
if i % k ==0:
num += k
if num == i:
print(i)
# 3.输⼊n,m,计算c=m!/(n1*(m-n)!)
m =int(input('m='))
n =int(input('n='))
a =1
b =1
d=1
c = m - n
if m >= n:
for i in range(1, m +1):
a *= i
#a=m!
for j in range(1, n +1):
b *= j
#b=n!
for f in range(1, c +1):
d*= f #d=c!
print(a /(b * d))
# 4.输⼊⼀个数判断是否是质数(素数)
n =int(input('n='))
if n ==1:
print(f'{n}不是质数')
if n ==2:
print(f'{n}是质数')
ci框架for i in range(2, n):
# 到2到n的因⼦
if n % i ==0:
print(f'{n}不是质数')
break
else:
print(f'{n}是质数')
break
# ⽅法2,改进版,使⽤布尔值。
num =int(input("请输⼊⼀个正整数:"))
is_prime =True#假设是质数
for i in range(2, num):#进⼊循环
# for i in range(2,int(num**0.5)+1):减少循环次数,
if num % i ==0:
is_prime =False
break
if is_prime and num >1:
print(f'{num}是质数')
else:
print(f'{num}不是质数')
# 5.输⼊三条边长,如果能构成三⾓形就计算周长和⾯积。不能提醒重新输⼊。直到输⼊正确。# 当我们不知道循环次数时,使⽤while 循环。
while True:
a =float(input('a='))
b =float(input('b='))
c =float(input('c='))
if a + b > c and a + c > b and b + c > a:
peri = a + b + c
print(f'周长: {peri}')
half = peri /2
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论