python代码怎么练_Python程序设计训练

一、目的:

1、掌握建立和执行Python文件的方法;

2、掌握if语句实现分支结构的程序设计方法;

3、掌握for和while语句实现循环结构的程序设计方法;

4、掌握函数的定义和使用方法。

二、内容:

1.输入一个百分制成绩,要求输出成绩等级A、B、C、D、E,其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。

要求:1)用if语句实现;2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。

代码:

1 a=eval(input('请输入成绩:'))2 if a<0 or a>100 or a%1!=0:3 print('您输入的成绩不合理,请检查后重新输入')4 elif 90<=a<=100:5 print('成绩等级:A')6 elif 80<=a<=89:7 print('成绩等级:B')8 elif 70<=a<=79:9 print('成绩等级:C')10 elif 60<=a<=69:11 print('成绩等级:D')12 else:13 print('成绩等级:E')

运行结果:

2.篮球比赛是高分的比赛,领先优势可能很快被反超。作为观众,希望能在球赛即将结束时,就提早知道领先是否不可超越。体育作家Bill James发明了一种算法,用于判断领先是否“安全”。

算法描述: 1)获取领先的分数 ,减去3分;

2)如果目前是领先队控球,则加0.5;否则减0.5(数字小于0则变成0);

3)计算平方后的结果;

4)如果得到的结果比当前比赛剩余时间的秒数大,则领先是“安全”的。

请编写程序实现上述算法的功能,并给出运行结果。

代码:

1 grade=eval(input('请输入领先分数:'))2 time=eval(input('请输入剩余时间:'))3 t=grade-3

4 w=input('目前是否为领先队控球(Y or N):')5 if w == 'Y' or w == 'y':6 g=(t+0.5)**2

7 else:8 g=t-0.5

9 if g<=0:10 g=011 g=g**2

12 if g>time:13 print('领先是“安全”的')14 else:15 print('领先是“不安全”的')

运行结果:

3.根据y=1+3-1+3-1+……+(2n-1)-1,求:

(1) y<3时的最大n值。

(2) 与(1)的n值对应的y值。

代码:

1 x=1

2 y=03 while y<3:4 y=y+1/(2*x-1)5 x=x+1

6 print('y<3时的最大n值为{}'.format(x-1))7 print('与(1)的n值对应的y值为{}'.format(y-1/(2*x-1)))

运行结果:

4. 小明单位发了100元的购物卡,小明到超市买三类洗化用品:洗发水(15元)、香皂(2元)、牙刷(5元)。要把100元正好花掉,可有哪些购买组合?

代码:

1 money=100

2 n=money//15

3 for i in range(n,-1,-1):4 m=(money-i*15)//5

5 for j in range(m,-1,-1):6 k=(money-i*15-j*5)//2

7 if (money-i*15-j*5)%2==0:8 print('可选择的购买组合:\t\t购买洗发水 {} 瓶,香皂 {} 块,牙刷 {}个。'.format(i,j,k))

运行结果:

5. 设计一个猜数游戏。首先由计算机产生一个[1,100]之间的随机整数,然后由用户猜测所产生的随机数。根据用户猜测的情况给出不同提示,如猜测的数大于产生的数,则显示“High”,小于则显示“Low”,等于则显示“You won !”,游戏结束。用户最多可以猜7次,如果7次均未猜中,则显示“You lost !”,并给出正确答案,游戏结束。游戏结束后,询问用户是否继续游戏,选择“Y”则开始一轮新的猜数游戏;选择“N”则退出游戏。

代码:

1 chose = 'y'

2 while chose=='Y' or chose=='y':3 importrandom4 num = random.randint(1,100)5 defjudge(b):6 if b ==num:7 return 1

8 else:9 return010 for i in range(1,8):11 b=eval(input('请输入您第{}次所猜的整数:'.format(i)))12 if judge(b)==1:13 print("You won !")14 break

15 elif b >num:16 print("high")17 elif b <18 print if judge lost chose="input('请输入Y(y)继续进行游戏,N(n)退出游戏:')22" while and>

运行结果:

6. 建立1个包含10个字符的字符串,并根据键盘输入的数字n输出字符串中的第n个字符。当n值超过字符串的索引时,自动转为输出字符串中的最后1个字符。

要求:用try语句实现。

代码:

1 n=int(input('请输入数字n:'))2 a='pengyuanyu'

3 try:4 print(a[n-1])5 except:6 print(a[9])

运行结果:

7. 编写函数,该函数可以输入任意多个数,函数返回输出所有输入参数的最大值、最小值和平均值。

代码:

1 importnumpy as py2 x=input('请输入一组数并用空格隔开:')3 deff(x):4 lis =list(x.split(' '))5 for i inrange(len(lis)):6 lis[i]=eval(lis[i])7 print('该组数值的最大值为:',max(lis))8 print('该组数值的最小值为:',min(lis))9 print('该组数值的平均值为:',py.mean(lis))10 f(x)

运行结果:

8. 一个人赶着鸭子去每个村庄卖,每经过一个村子卖去所赶鸭子的一半又一只。这样他经过了七个村子后还剩两只鸭子,问他出发时共赶多少只鸭子?

要求:利用递归函数编程实现。

代码:

1 deff(n):2 if n == 8:3 return 2

4 else:5 sum = f(n+1)*2+2

6 returnsum7 print('一共有{}只鸭子'.format(f(1)))

运行结果:

三、总结

通过本次实验,掌握了建立和执行Python文件的方法;掌握了if语句实现分支结构的程序设计方法;掌握了for和while语句实现循环结构的程序设计方法;掌握了函数的定义和使用方法。学到了很多知识,通过实践对基础知识更加熟练。

18>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值