计算机语法学习

运算符

//整除
%取模
**幂运算

实例

华氏温度转摄氏温度

1
2
3
4
5
f = float(input('请输入华氏温度: '))
c = (f - 32) / 1.8
print('%.1f华氏度 = %.1f摄氏度' % (f, c))
# input() 键盘输入为字符串,用float()转浮点数
# 占位符 %.1f,flost型替换保留1位小数 %d int型替换 %s str型替换
1
2
3
4
f = float(input('请输入华氏温度: '))
c = (f - 32) / 1.8
print(f'{f:.1f}华氏度 = {c:.1f}摄氏度')
# f'{f:.1f},第一个f表示格式化处理后面 '{f:.1f}华氏度 = {c:.1f}摄氏度'这个字符串 并且f'{}'是一个整体,第2个f表示变量 :.1f对变量进行保留1位小数

判断闰年

规则:1. 公元年份非 4 的倍数是平年;2. 公元年份为 4 的倍数但非 100 的倍数是闰年;3. 公元年份为 400 的倍数是闰年

1
2
3
4
year=int(input('输入年份'))
is_run= (year%4==0 and year%100!=0) or year%400==0
print(f'{is_run=}')
# '公元年份为 400 的倍数'是'公元年份为 4 的倍数且为 100 的倍数'的子集

分支结构

分段函数求值

1
2
3
4
5
6
7
8
x=float(input('x='))
if x>1:
y=3*x-5
elif x>=-1:
y=x+2
else:
y=5*x+3
print(f'{y=}')

循环结构

打印九九乘法表

1
2
3
4
5
6
for i in range(1,10)
for j in range(1,i+1)
print(f'{i}x{j}={i*j}',end='\t')
print()#相当于print(end='\n')
# end是print内置的参数,默认为end=\n,即换行
# \t 即制表符,类似于Tab键

实战

100以内素数

素数判断:循环从2到$[\sqrt{n}]+1 $

1
2
3
4
5
6
7
8
for num in range(2,101):
is_zhi=True
for i in range(2,int(num**0.5)+1):
if num%i==0:
is_zhi=False
break
if is_zhi:
print(f'{num}')

100到999内水仙花数

1
2
3
4
5
6
7
8
for num in range(100,1000):
a=num%10
b=num//10
c=b%10
d=b//10
if num==a**3+c**3+d**3:
print(f'{num}',end='\t')
print()