Python编程基础练习(一)

[复制链接]
Python编程根本练习(一)s1.jpeg


根本练习(一)

题目1:有1、2、3、4四个数,能组成几多个互不不异且无反复的三位数?都是几多?

    list_num=[1,2,3,4]all_num=[]for i in list_num:for j in list_num:for k in list_num :if (i!=j) and (i!=k) and (j!=k):num=i*100+j*10+kall_num.append(num)print(all_num)print('A total of %d numbers.' %len(all_num))
题目2:企业发放的奖金按照利润提成。低于或即是10万元时,奖金可提成10%;高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分可提成5%;40万到60万之间时,高于40万元的部分,可提成3%;60万到100万之间时,高于60万的部分,可提成1.5%;跨越100万元的部分按1%提成;从键盘输入当月利润,求应发奖金总数。

    while True:num=input('请输入利润:').strip()if num.isdigit():passelse :print('输入的利润必须为数字')continuenum=int(num) #转换为整数范例if num > 1000000 :profit = (num-1000000)*0.01 + 400000*0.015 + 200000 *0.03 + 200000*0.05 + 100000*0.075 + 100000*0.1breakelif num > 600000 :profit = (num-400000)*0.015 + 200000 *0.03 + 200000*0.05 + 100000*0.075 + 100000*0.1breakelif num > 400000 :profit = (num-200000) *0.03 + 200000*0.05 + 100000*0.075 + 100000*0.1breakelif num > 200000 :profit = (num-200000)*0.05 + 100000*0.075 + 100000*0.1breakelif num > 100000 :profit = (num-100000)*0.075 + 100000*0.1breakelse :profit = num*0.1breakprint('应发奖金总数为:%d' %profit)
题目3:一个整数,它加上100后是一个完全平方数。再加上168又是一个完全平方数,问该数是几多。

    import mathint_num=0while True:num1=math.sqrt(int_num+100)num2=math.sqrt(int_num+168)if num1==int(num1) and num2 == int(num2):breakint_num += 1print('该整数为 %d' %int_num)
题目4:输入某年某月某日,判定这一天是这一年的第几天。(格式 如:19870604)

    from builtins import lenleap_year={'01':31,'02':29,'03':31,'04':30,'05':31,'06':30,'07':31,'08':31,'09':30,'10':31,'11':30,'12':31} #闰年每月最大天数comm_year={'01':31,'02':28,'03':31,'04':30,'05':31,'06':30,'07':31,'08':31,'09':30,'10':31,'11':30,'12':31} #闰年每月最大天数while True:num = input('请输入日期,格式如19540105:')if num.isdigit() and len(num)==8 :passelse :print('格式毛病,请重新输入')continueyear_num=int(num[:4])month_num=num[4:6]day_num=int(num[6:])if (int(month_num)>12) or (int(month_num)<=0): #月份毛病时,重新输入,'01'字符串转换为整数时,会舍弃0,没法遍历字典print('月份输入毛病,请重新输入。')continuedays=0 #界说天数if ((year_num%100==0) and (year_num%400 == 0)) or ((year_num%100 !=0) and (year_num%4 == 0)): #假如是闰年if (day_num > leap_year[month_num]) or (day_num <= 0): #日期毛病时重新输入print('此月份中没有这一天,请重新输入。')continuefor i in leap_year.keys(): #遍历月份if int(i) < int(month_num):days = days + leap_yearelif int(i)==int(month_num):days = days + day_numelse: #假如是闰年if (day_num > comm_year[month_num]) or (day_num <= 0): #日期毛病时重新输入print('此月份中没有这一天,请重新输入。')continuefor i in comm_year.keys(): #遍历月份if int(i) < int(month_num):days = days + comm_yearelif int(i)==int(month_num):days = days + day_numprint('这一天是今年的第 %d 天' %days)break
题目5:输入三个整数x,y,z,请把这三个数从小到大输出。

    def isint(num):while True:a=input('请输入整数 %s:' %num).strip()if a.isdigit() :breakelse:print(' %s 不是整数,请重新输入' %a)return adic={}dic['x']=isint('x')dic['y']=isint('y')dic['z']=isint('z')dic=list(dic.values())dic.sort()print(dic)
题目6:用*输出字母c的图案。

    list_c=[' **** ',' * *','*','*','*',' * *',' **** ']for i in list_c:print(i)
题目7:输出9*9口诀表。

    for i in range(1,10):j=1while j<=i:print('%d*%d=%-2d ' % (j,i,(i*j)),end='')j +=1print(end='n')
题目8:斐波那契数列。即:0,1,1,2,3,5,8,13。数学界说:F0=0,F1=1,Fn=f(n-1)+F(n-2)

    def fibonacci_sequence(n):if n==0:return 0elif n==1:return 1else:return fibonacci_sequence(n-1)+fibonacci_sequence(n-2)num=int(input('请输入一个整数:'))for i in range(num):val=fibonacci_sequence(i)print('n=%d,Fn=%d ' %(i,val))
题目9:古典题目,有一对兔子,从诞生后第三个月起每个月都诞生一对兔子,小兔子涨到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为几多。

    def rabbit_num(n):if n==1:return 1elif n==2:return 1else:return rabbit_num(n-1)+rabbit_num(n-2)num=int(input('请输入一个整数:'))for i in range(1,num+1):val=rabbit_num(i)print('n=%d,Fn=%d ' %(i,val))
题目10:判定101-200之间有几多个素数,并输出一切素数。

    num=[]for i in range(100,201):j=i//2for k in range(2,j):if i%k==0:breakelse:num.append(i)print('一共有%d个素数n这些素数是:' %len(num),num )
.END. 简



任教员复旦大学计较机软件与理论专业博士,曾在上海中学国际部任法式设想类课程的全英文讲授,现上海某高校副教授。2015年赴德国讲授研修,2017年赴美国拜候,其在德国上公然课的出色环节被德国《莱茵法尔兹报》公然报道。

Python编程根本练习(一)s2.jpeg


Python编程根本练习(一)s3.jpeg


Python编程根本练习(一)s4.gif
温馨提示:
好向圈www.kuaixunai.com是各行业经验分享交流社区,你可以在这里发布交流经验,也可以发布需求与服务,经验圈子里面禁止带推广链接、联系方式、违法词等,违规将封禁账号,相关产品信息将永久不予以通过,同时有需要可以发布在自己的免费建站官网里面或者广告圈, 下载好向圈APP可以随时随地交流经验,也可以和圈友发起聊天成为好友哦! 本文不代表好向圈的观点和立场,如有侵权请下载好向圈APP联系在线客服进行核实处理。如有企图恶意申诉手段甚至诈骗要挟我司,我司律师团队将对恶意敲诈公司或个人进行全网起诉,并严厉追究法律责任,望知!
审核说明:根据相关政策规定,好向圈社区将不支持转载与从别的地方搬运内容,如果有上述情况将不予以通过,如有上述情况将不予以审核通过,原创优质内容百度会100%收录,运营人员将严格按照上述情况进行审核,望告知!
回复

使用道具 举报

没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则