使用缩进来表示块作用域的开始和结束,对缩进有严格要求
冒号":" 标记新的逻辑层
判断语句
if 语句
if
a = 5
if a > 0:
print('+')
if...else...
a = 5
if a > 0:
print('+')
else:
print('-')
if...elif...elif
a = 5
if a > 0:
print('+')
elif a < 0:
print('-')
elif a == 0:
print('0')
if...elif...elif...else...
a = 5
if a > 0:
print('+')
elif a < 0:
print('-')
else:
print('0')
按条件赋值可以写在一行
a = 5
if a > 0:
a = a + 1
else:
a = a - 1
a = a + 1 if a > 0 else a - 1
例子:
a = int(input())
if a > 0:
print('+')
elif a == 0:
print('0')
elif a < 0:
print('-')
判断奇数/偶数
a = int(input())
if a % 2 == 1:
print(1)
else:
print(0)
print(int(input()) % 2)
判断闰年
# 四年一闰且百年不闰,或者四百年一闰
y = int(input())
if y % 4 == 0 and y % 100 != 0 or y % 400 == 0:
print(1)
else:
print(0)
循环语句
for语句
for...in
不是对算术递增的数值进行迭代,而是对任意序列进行迭代
for item in (0, 1, 2, 3, 4, 5, 6, 7, 8, 9):
print(item)
for item in (4, 1, 2, 9, 4, 0, 6, 7, 8, 3):
print(item)
for item in range(0, 10): # [0, 10)
print(item)
for item in range(1, 11): # [1, 11)
print(item)
for item in range(1, 11, 2): # 1 3 5 7 9
print(item)
while语句
例子:
打印1~10
n = 0
while n < 10:
n += 1
print(n,end='\n')
打印奇数
n = 0
while n < 10:
n += 1
if n % 2 == 1:
print(n)
continue提前结束本次循环,直接开始下一次循环
n = 0
while n < 10:
n += 1
if n % 2 == 0:
continue
print(n)
break提前退出循环
打印第一个奇数
n = 0
while n < 10:
n += 1
if n % 2 == 1:
print(n)
break
打印100以内的奇数
n = -1
while n < 99:
n += 2
print(n)
for item in range(1,100,2):
print(item)
输入一个n,求1到n的累加和
n = int(input())
s = 0
for x in range(1, n + 1):
s += x
print(s)
print(sum(range(1, int(input()) + 1)))
判断素数
n = int(input())
for x in range(2, n):
if n % x == 0:
print(0)
break
else:
print(1)
输入一个n,打印n行n列
#-*- coding:utf-8 -*-
n = int(input())
for i in range(1, n*n + 1):
print(i, end='\t')
if i % n == 0: # 判断循环是n倍数的时候
print()
n = int(input())
for i in range(1, n + 1):
for j in range(i):
print(end='*')
print()
n = int(input())
for i in range(1, n + 1):
print("*" * i)
n = int(input())
for i in range(1, n + 1):
print(" " * (n - i) + "*" * i)
n = int(input())
for i in range(1, n + 1):
print(str(i) * i)
求s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值
#-*- coding:utf-8 -*-
n = int(input())
s = 0
for item in range(n + 1): # 从0到n
s += sum(range(item + 1))
print(s)
输出一个数的二进制有多少个 1
#-*- coding:utf-8 -*-
n = int(input())
count = 0
# python中可以超过32位,通过这个操作把负数限制在32位(不然1的个数无限)
if n < 0:
n = n & 0xffffffff
while n:
n = n & (n - 1)
count += 1
print(count)
print(bin(int(input()) & 0xffffffff).count('1'))