掌握Python分支结构、循环结构这一篇就够了
分支结构
- 分支结构在任何一门编程语言都在非常重要的,它是构成模块的一部分
- 分支结构编写要注意代码缩进
循环结构
- for in 循环、 while 循环
- for in 循环需要确定执行次数、while循环不需要提前确定执行次数,通过条件来终止循环
1.找出100~999之间的水仙花数(各个位数的立方之和等于这个数本身)
for i in range(100,1000):
a=i%100%10 # 获取个位上的数
b=i%100//10# 获取十位上的数
c=i//100 #获取百位上的数
if a**3+b**3+c**3==i:
print(i)
2.找出1~10000之间的完美数(除自身外所有因子的和等于这个数)
for i in range(2,10000):
temp=0
for j in range(1,i-1):
if i%j==0:
temp+=j
if temp==i :
print(i)
3.输入m和n(m>=n),计算C(m,n)–> m!/(n!*(m-n!))
m=int(input('m='))
n=int(input('n='))
def jiechen(n):
temp=1
for i in range(2,n+1):
temp*=i
return temp
def c(m,n):
# m!/(n!*(m-n!))
together=jiechen(m)/(jiechen(n)*jiechen(m-n))
return together
print(c(m,n))
4.输入一个正整数,判断它是否是质数(只能被1和自身整除
n=int(input('输入一个正整数:'))
temp=1
for i in range(2,n):
if n%i==0:
temp=0
break
else:
temp=1
if temp==1:
print(f'{n}是质数')
else:
print(f'{n}不是质数')
5.输入三角形边长长度,如果能构成三角形就计算周长和面积。不能构成提示重新输入,直到正确
import math
flag=True
while flag :
a=int(input('a='))
b=int(input('b='))
c=int(input('c='))
if a+b>c and a+c>b and b+c>a :
flag=False
# 海伦公式
p=(a+b+c)/2
S=math.sqrt(p*(p-a)*(p-b)*(p-c))
print(f'周长:{a+b+c}, 面积:{S:.2f}')
else:
flag=True
6. 输入两个正整数,找出它们的最大公约数(greater common divisor:两个数所有公共因子中最大的数)
# 例如:a=16 b=7,16%7=2 7%2=1,费马大定定理
# 7%16=7 a=7 b=7
while b%a!=0:
a,b=b%a,a
print(f'最大公约数:{a}')
- 友情提示:在编写代码时遇到不认识的函数按住shift+F1快捷键查看文档说明,顶部有一个选项调成中文
7.输出1~10,以及它们的平方、立方和N次方
print('N'.ljust(10), end='')
print('N^2'.ljust(10), end='')
print('N^3'.ljust(10), end='')
print('N^4'.ljust(10))
for i in range(1, 11):
# print(i,i**2,i**3,i**i)
print(f'{i:<10d}{i ** 2:<10d}{i ** 3:<10d}{i ** i:<10d}') # "<10d"以10d靠左对齐,每一占10个字符
8.输入一个非负整数N,计算N!
total=1
for i in range(2,num+1):
total*=i
print(f'{num}!={total}')
一占10个字符
8.输入一个非负整数N,计算N!
total=1
for i in range(2,num+1):
total*=i
print(f'{num}!={total}')