1 编程题
1,python里允许多重赋值
d,f=0,0
a, b = min(a, b), max(a, b)
2,if_elif,round()四舍五入
math.gcd()最大公约数函数
3,print会自动换行,不换行需要end
for i in range(3):
n = 2
print("%d * %d = %d" % (i, n, i * n), end=' ')
print("%d*%d=%d" %(j, i, j * i), end=" ")
print("%d*%d=%d" %(i, i, i * i),end="\n")
4,
//def定义函数
def jc(n):
sum=1
for i in range(1,n+1):
sum*=i
return sum
error=float(input())
sum,i=0,0
while (1/jc(i))>error:
sum+=1/jc(i)
i+=1
sum+=1/jc(i)
print("%.6f"%sum)
5,列表
while 1:
l=[int(num) for num in input().split()]
#这一行从用户输入中读取一行数据,使用 split() 方法
# 将其分割成多个字符串,然后将这些字符串转换为整数,存储在列表 l 中。
sum=0
if l[0]==0 : break
# 没有括号没有分号,有一个冒号
else:
for i in l:
#遍历列表l中的每一个元素
sum+=int(i)
print(sum-l[0])
6,判断开根号后是否为整数
math.floor(math.sqrt(n)) == math.ceil(math.sqrt(n))
7,控制组数
while n > 0:
n -= 1
#或者
n=int(input())
while 1:
try:
a,b=map(int,input().split())
print(a+b)
except:
break
8,水仙数
def shuixian(n, x):
#n表示检查数字,x表示数字位数
m = n
sum = 0
while m > 0:
ans = 1
for i in range(x):
ans *= m % 10
m //= 10
#不能写成m//10
#m整除10,去掉最后一位
sum += ans
if sum == n:
return 1
return 0
n = int(input())
for i in range(10 ** (n - 1), 10 ** n):
#**表示幂运算,这里表示十的多少次方;
if shuixian(i, n) == 1:
print(i)
9,冒泡排序
n=int(input())
while n>0:
l=[int(num) for num in input().split()]
del l[0]#删除列表 l 的第一个元素。
cut=0
for i in range(len(l)-1):
for j in range(len(l)-i-1):
if l[j]>l[j+1]:
l[j],l[j+1]=l[j+1],l[j]
#不同于其他语言的一个交换
cut+=1
print(cut)
n-=1
2 判断
3 单选
Python 中,for 和 while 可以有 else 语句