python
第一章 python练习
求和。计算1-99的和。并输出。
代码片
。
#计算一到99的和,并输出
sum=0
i=1
while i<100:
sum+=i
i+=1
print(sum)
乘法口诀。输入1-9的乘法口诀。print输在在同一行用end=’’.
代码片
。
#乘法口诀
for i in range(1,10):
for j in range(1,i+1):
print(str(j)+"*"+str(i)+'='+str(i*j), end=" ")
print('\r')
结果
。
用Turtle画一个正方形。并输出。
代码片
。
import turtle as tt
tt.color('green')
tt.forward(400)#向前400
tt.left(90)#垂直旋转90°
tt.forward(400)#向上前进400
tt.left(90)#再次旋转90°
tt.forward(400)#箭头指向后面,在前进400
tt.left(90)#旋转90°
tt.forward(400)#箭头指向下,前进400
print(tt)
#让其停下来
input()
结果
。
斐波那契数列。并输出小于10000的最后一个数。
代码片
。
#斐波那契数列
a,b=0,1
while a<10000:
print(a)
a,b=b,a+b
结果
。
多分支结构。BMI的定义如下:
BMI = 体重(kg)÷身高2(m2)
例如,一个人身高1.75米、体重75公斤,他的BMI值为24.49
编写一个根据体重和身高计算BMI值的程序,并同时输出国际和国内的BMI指标建议值
代码片
。
weight = eval(input('请输入体重(kg):'))
height = eval(input('请输入身高(m²):'))
e, n = '', ''
result = weight / height ** 2
if result < 18.5:
e, n = '偏瘦', '偏瘦'
elif 18.5 <= result < 24:
e, n = '正常', '正常'
elif 24 <= result < 25:
e, n = '正常', '偏胖'
elif 25 <= result < 28:
e, n = '偏胖', '偏胖'
elif 28 <= result < 30:
e, n = '偏胖', '肥胖'
else:
e, n = '肥胖', '肥胖'
print('国际BMI是:' + e + ',国内BMI是:' + n)
结果
。
多分支结构。 输入某月某日,判断这一天是一年的第几天?
利用Python语言,采用字典的方式对应月份和天数,采用选择结构和循环结构解决如下问题:输入某月某日,判断这一天是一年的第几天?输出“这是年度第XX天”,如若日期输入错误,则输出“error”。具体要求如下:
(1)创建python.py新文件并保存;
(2)采用字典的方式对应月份和天数;
(3)依次弹出对话“请输入月份:”和“请输入日期:”
(4)采用条件判断结构区分所输入日期是否正确,如果错误,输出“error”;
(5)如若输入日期正确,采用循环结构计算天数,输出“这是年度第XX天”;
方法一代码片
。
_monthdic = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
month = input('请输入月份:')
day = input('请输入日期:')
if day.isnumeric() and 0<(int)(day)<31:
result = sum(_monthdic[:(int)(month)-1])+(int)(day)
print('这是年度第{}天'.format(result))
else:
print('error')
结果
。
方法二代码片
。
_monthdic = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
_daydic = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31]
month = eval(input('请输入月份:'))
day = eval(input('请输入日期:'))
if 0 < day < 31:
for i in _daydic:
if i == day:
result = sum(_monthdic[:month - 1]) + (int)(i)
print('这是年度第{}天'.format(result))
else:
print('error')
结果
。
方法二扩展代码
。如果闰年是少一天。
_monthdic = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
_daydic = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31]
result = 0
year = eval(input('请输入年份:'))
month = eval(input('请输入月份:'))
day = eval(input('请输入日期:'))
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
result -= 1
if 0 < day < 31:
for i in _daydic:
if i == day:
result += sum(_monthdic[:month - 1]) + (int)(i)
print('这是年度第{}天'.format(result))
else:
print('error')
结果
。
多分支结构。一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。
方法一代码片
。
def number(num):
#左闭右开,所以需要加1
for i in range(2,num+1):
#定义一个数组存取因子
arr=[]
#循环取出数前面所有,找因子
for j in range(1,i):
#因子计算
if i%j==0:
#加入到数组里面
arr.append(j)
j += 1
#因子和数相等
if i==sum(arr[:len(arr)]):
print("完数"+str(i)+"的因子是",end='')
print(arr)
arr.clear()
else:
arr.clear()
number(eval(input('您想计算多少以内的完数,请输入?'))
结果
。
如有错误请联系更改:微信 sy157715743