赞
踩
只能使用于循环体
当执行循环体时,遇到continue,当次循环直接结束,马上进入下一次循环的判断。
练习:计算1到100中所有不能被3整除的数的和
sum = 0
for i in range(1, 101):
if i % 3 == 0:
continue
sum += i
print(sum)
break是关键字且只能在循环体中使用
当执行循环体的时候,遇到break,整个循环直接结束。
while循环和break一起使用, while True:
需要重复的操作
if 循环结束的条件:
break
用while计算1+2+3+…+100
num = 1000
while True:
if num % 3 == 0:
break
num += 1
print(num)
python中完整的for循环:
for 变量 in 序列:
循环体
else:
代码段
python中完整的while循环:
while 条件语句:
循环体
else:
代码段
在for循环或者while循环后面加else结构不会影响原循环的执行。
再循环的过程中,如果循环是正常结束的,循环结束后执行else后面的代码段,如果循环是因为遇到break结束的,else后面的代码段就不会执行。(可以根据else后面的代码段是否执行来判断循环在执行过程中有没有遇到break)
练习:判断一个数是不是素数
num = 5
if num > 1:
for i in range(2, num):
# 【range(2,int(num**0.5+1))也可以,减少了循环次数】
if num % i == 0:
print(num, '不是素数')
break
else:
print(num, '是素数')
else:
print(num, '不是素数')
其他进制转十进制:基数乘以位权的和 0b1011 -> 2^0 + 2^1 + 2^3 = 11 0o56 -> 6x8^0 + 5x8^1 = 6+40 = 46 0x12f -> 15x16^0 + 2x16^2 + 1x16^2 = 15 + 32 + 256 = 303
print(0b1011)
print(0o56)
print(0x12f)
十进制转换为其他进制(辗转取余)
print(bin(100)) # 100转换为二进制
print(oct(100)) # 100转换为八进制
print(hex(100)) # 100转换为十六进制
二进制转其他 二进制转8进制:三位一取,不够则补0. 001 100 100 -> 1 4 4 二进制转十六进制:四位一取,不够则补0. 0110 0100 -> 6 4 注意:反过来也可以拆分八进制或者十六进制来转换为二进制
&(按位与运算),|(按位或运算),^(按位异或),~(按位取反),<<(左移),>>(右移)
位运算的特点:运算效率高,内存消耗少;但是完成复杂运算的时候难度高
应用:
快速判断数字的奇偶性:数字 & 1 ,取出数字的二进制数的最后一位,若是1,则为奇数,若是0,为偶数
print(10 & 1) # 0
print(11 & 1) # 1
快速的乘2与整除2(或者2的次方)的操作: 数字 << 1 (乘法),左移两位就是乘以2^2,
例如:00000001 -> 00000010 -> 00000100
print(3 << 1)
print(4 << 1)
print(-6 << 1)
数字 >> 1(除法)
print(4 >> 1) # 2
print(-9 >> 2) # -3
print(11 >> 2) # 2
count = 0
for x in range(101, 201):
for y in range(2, x):
if x % y == 0:
break
else:
count += 1
print(x)
x += 1
print(count)
sum = 0
for x in range(1, 101):
if x % 10 == 3:
continue
sum += x
print(sum)
i = 2
j = 1
for n in range(1, 20):
i, j = i+j, i
print('第20个数是', i, '/', j)
while True:
n = int(input('请输入一个正整数:'))
sum = 1
for i in range(1, n+1):
sum *= i
print(n, '!=', sum)
sum = 0
for i in range(1, 21):
n = 1
for j in range(2, i+1):
n *= j
sum += n
print('1+2!+3!=', sum)
while True:
a = int(input('请输入一个1~9的正整数a:'))
n = int(input('请输入求和的项数n:'))
sum = 0
temp = 0
for i in range(n):
temp = temp * 10 + a
sum += temp
print(sum)
print('a为', a, ', n为', n, '的时候:', sum)
例如:a为3, n为5的时候: 3 + 33 + 333 + 3333 + 33333
控制台输出三角形
a.根据n的值的不同,输出相应的形状
n = 5时 n = 4
***** ****
**** ***
*** **
** *
*
n = int(input('请输入一个正整数n:'))
for i in range(n):
for j in range(n-i):
print('*', end='')
print()
b.根据n的值的不同,输出相应的形状(n为奇数)
n = 5 n = 7
* *
*** ***
*******
while True:
n = int(input('n的值为:'))
k = 0
for i in range(1, n+1, 2):
k += 1
print(' '*(n-k), '*'*i)
c. 根据n的值的不同,输出相应的形状
n = 4
1
121
12321
1234321
n = 5
1
121
12321
1234321
123454321
for shampoo in range(100//15):
for toilet_soap in range(100 // 2):
for toothbrush in range(100 // 5):
if shampoo * 15 + toilet_soap * 2 + toothbrush * 5 == 100:
print('洗发水:', shampoo, '香皂:', toilet_soap, '牙刷:', toothbrush)
height = 8848.13 * 1000
a = 0.08
count = 0
while height >= a * 2 ** count:
count += 1
print('需要对折的次数:', count)
while True:
n = int(input('请输入要计算的月数:'))
if n == 1 or n == 2:
print('第', n, '月兔子的总数是2')
else:
p1 = p2 = 1
for x in range(n - 3):
p1, p2 = p2, p1 + p2
print('第', n, '月兔子的总数是', 2*(p1 + p2))
while True:
num = int(input('请输入一个正整数:'))
print(num, '=', end='')
for i in range(2, (num // 2) + 1):
if num % i == 0:
print(i, 'x', end='')
num //= i
if num % i == 0:
print(i, 'x', end='')
num //= i
print()
while True:
tel = int(input('请输入一个四位整数:'))
first = (tel % 10 + 5) % 10
second = (tel % 100 // 10 + 5) % 10
third = (tel // 100 % 10 + 5) % 10
fourth = (tel // 1000 + 5) % 10
first, fourth = fourth, first
second, third = third, second
print(fourth*1000+third*100+second*10+first)
while True:
num = int(input('请输入一个整数:'))
sum = num % 10
while True:
num //= 10
sum += num % 10
if num == 0:
break
print(sum)
while True: a = int(input('请输入第一个数a:')) b = int(input('请输入第二个数b:')) min = a if a <= b else b temp = 1 max = a if a >= b else b for i in range(2, min+1): if a % i == 0 and b % i == 0: temp = i if temp == 1: print(a, b, '最大公约数不存在!') else: print(a, b, '最大公约数是:', temp) for i in range(max, a*b+1): if i % a == 0 and i % b ==0: print(a, b, '最小公倍数是:', i) break
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。