练习1:将华氏温度转换为摄氏温度
F = 1.8C + 32
f=float(input("华氏摄氏度:"))
c=(f-32)/1.8
print("%.1f华氏摄氏度=%.1f摄氏度"%(f,c))
练习2:输入圆的半径计算计算周长和面积。
r=float(input("输入圆的半径:"))
PI=3.14
c=2*PI*r
s=PI*r*r
print("周长=%.1f\n面积=%.1f"%(c,s))
练习3:输入年份判断是不是闰年。
year=int(input("输入年份:"))
is_flag=(year%4==0and year%400!=0 or year%400==0)
print(is_flag)
if、elif 和 else关键字
练习1:英制单位与公制单位互换
v=float(input("输入值:"))
c=str(input("输入单位:"))
if c=='inch'or c=='英寸':
print('%.1f英寸=%.1f'%(v,v*2.54))
elif c=='cm'or c=='厘米':
print("%.1f厘米=%.1f英寸"%(v,v/2.54))
else:
print("请输入有效的数值")
练习2:掷骰子决定做什么
from random import randint
face = randint(1,6)
if face==1:
print("sing")
elif face==2:
print("dance")
elif face==3:
print("eat")
elif face==4:
print("tractor")
elif face==5:
print("liar")
else:
print("dog")
练习3:百分制成绩转等级制
score=float(input("输入成绩:"))
if score>=90:
grad='A'
elif score >= 80:
grad = 'A'
elif score>=70:
grad='C'
elif score>=60:
grad='D'
else:
grad='E'
print("你的等级是:",grad)
一种是for-in循环,一种是while循环。
知道循环执行的次数或者对一个容器进行迭代。
1~100求和。
sum=0 #对sum进行初始化
for n in range(101):
sum+=n
print(sum)
要说明的是上面代码中的range类型,range可以用来产生一个不变的数值序列,而且这个序列通常都是用在循环中的,例如:
range(101)可以产生一个0到100的整数序列。
range(1, 100)可以产生一个1到99的整数序列。
range(1, 100, 2)可以产生一个1到99的奇数序列,其中的2是步长,即数值序列的增量。
1~100偶数和。
sum=0;
for a in range(2,101,2):
sum+=a
print(sum)
如果要构造不知道具体循环次数的循环结构,我们推荐使用while循环,while循环通过一个能够产生或转换出bool值的表达式来控制循环,表达式的值为True循环继续,表达式的值为False循环结束
猜数字游戏
计算机出一个1~100之间的随机数由人来猜
import random
answer=random.randint(1,101)
counter=0#计数
while True:
counter+=1
number=int(input("输入1~100的数字:"))
if number>answer:
print("猜大了")
elif number<answer:
print("猜小了")
else:
print("猜对了")
break
if counter>=7:
print("你的智商余额不足。")
练习1:输入一个数判断是不是素数。
from math import sqrt
number=int(input("请输入一个正整数:"))
n=int(sqrt(number))
is_prime=True
for x in range(2,n + 1):
if number%x==0:
is_prime=False
break
if is_prime and number!=1:
print("是素数")
else:
print('不是素数')
练习2:输入两个正整数,计算最大公约数和最小公倍数。
x=int(input("x="))
y=int(input("y="))
if x>y:
(x,y)=(y,x)
for f in range(x,0,-1):
if x%f==0 and y%f==0:
break
print("最大公约数:%d"%f)
print("最小公倍数:%d"%(x*y//f))
练习3:打印三角形图案。
row = int(input('请输入行数: '))
for i in range(row):
for _ in range(i + 1):
print('*', end='')
print()
for i in range(row):
for j in range(row):
if j < row - i - 1:
print(' ', end='')
else:
print('*', end='')
print()
for i in range(row):
for _ in range(row - i - 1):
print(' ', end='')
for _ in range(2 * i + 1):
print('*', end='')
print()
print() 换行
end=’ ’ 结尾空格不换行