第一章 python历练

时间:2020-9-16 作者:admin

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')

结果
第一章 python历练
用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()

结果
第一章 python历练
斐波那契数列。并输出小于10000的最后一个数。
代码片

#斐波那契数列
a,b=0,1
while a<10000:
  print(a)
  a,b=b,a+b

结果
第一章 python历练
多分支结构。BMI的定义如下:
BMI = 体重(kg)÷身高2(m2)
例如,一个人身高1.75米、体重75公斤,他的BMI值为24.49
编写一个根据体重和身高计算BMI值的程序,并同时输出国际和国内的BMI指标建议值
第一章 python历练
代码片

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历练
多分支结构。❉ 输入某月某日,判断这一天是一年的第几天?
利用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')

结果
第一章 python历练
方法二代码片

_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')

结果
第一章 python历练
方法二扩展代码。如果闰年是少一天。

_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')

结果
第一章 python历练
多分支结构。一个数如果恰好等于它的因子之和,这个数就称为”完数”。例如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('您想计算多少以内的完数,请输入?'))

结果
第一章 python历练

如有错误请联系更改:微信 sy157715743

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。