2022年Python语言程序设计上机题库习题集带答案_第1页
2022年Python语言程序设计上机题库习题集带答案_第2页
2022年Python语言程序设计上机题库习题集带答案_第3页
2022年Python语言程序设计上机题库习题集带答案_第4页
2022年Python语言程序设计上机题库习题集带答案_第5页
已阅读5页,还剩97页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Python语言程序设计上机题库习题集带答案

上机练习1

■口

练习二变量与注释的使用

AA需求说明

请完成下面的练习,在做每个练习时,都编写一个独立的程序。保存每个程序时,使用符合标准Python

约定的文件名:使用小写字母和下划线,如simple_message.py和simple_messages.py。

(1)简单消息:将一条消息存储到变量中,再将其打印出来。

(2)多条简单消息:将一条消息存储到变量中,将其打印出来;再将变量的值修改为一条新消息,并

将其打印出来。

(3)添加注释:选择你编写的两个程序,在每个程序中都至少添加一条注释。如果程序太简单,实在

没有什么需要说明的,就在程序文件开头加上你的姓名和当前日期,再用一句话阐述程序的功能。

AA实例目标

□掌握变量与print。函数的使用

□掌握注释的使用

AA代码实现

1、简单消息:将一条消息存储到变量中,再将其打印出来。

□【参考代码】

var='hello_world!,

print(var)

2、多条简单消息:将一条消息存储到变量中,将其打印出来;再将变量的值修改为一条新消息,并将

其打印出来。

o【参考代码】

var=*hello_world!1

print(var)

var=*hello_python!,

print(var)

3、添加注释:选择你编写的两个程序,在每个程序中都至少添加一条注释。如果程序太简单,实在

没有什么需要说明的,就在程序文件开头加上你的姓名和当前日期,再用一句话阐述程序的功能。

Q【参考代码】

var=*hello_world!!

#这句是将hell。world!字符串赋值给变量var

print(var)

#将var变量打印出来

上机球习2

F不海洋单位距离的换算

AA需求说明

在陆地上可以使用参照物确定两点间的距离,使用厘米、米、公里等作为计量单位,而海上缺少参照

物,人们将赤道上经度的1分对应的距离记为1海里,使用海里作为海上计量单位。公里与海里可以通过

以下公式换算:

海里=公里/1.852

编写程序、实现将公里转为海里的换算。

AA实例目标

□掌握变量与print。函数的使用

口了解类型转换

AA实例分析

将公里转换为海里,即按照换算公式对公里的数值进行计算与转换。我们输入一个以公里为单位的数

值,根据公里与海里的换算规则,输出以海里为单位时对应的数值。例如,1.852公里转换海里为1海里。

AA代码实现

O【参考代码】

kilometre=float(input(,请输入公里数:*))

nautical_mile=(kilometre/1.852)

print「痪算后的海里数为:Inautical_milez"海里”)

首先使用input。函数来接收用户输入的数据,其次将用户的输入的数据通过float。转成浮点数数据,

并将结果赋值给变量kilometre,然后根据海里与公里的转换规则,将变量kilometre(用户输入的数据)除

以1.852,将计算的结果赋值给变量naticaLmilc,最后使用print。函数将变量natical_milc进行输出。

A>代码测试

运行代码,控制台输出结果如下:

请输入公里数:3.704

换算后的海里数为:2.0海里

上机球习3

习打印学生证

AA需求说明

学生证,就是刚入校时由学校签发给该校已获得学籍的学生的身份证明证件,用以证明学生在该校就

读并证明学生身份。一般上面会有盖有学校钢印的本人一寸彩色或者黑白照片,如是大学生,有你所在学

院以及班级,还有你的在校年限(入学时间--毕业时间)。学生持学生证可以享受乘坐火车、汽车、外出

旅游等优惠待遇。编写程序,模拟输出如图1-30所示效果的学生证信息。

XXXX大学学生证

:张三

上年:2003-2-2

:湖南长沙

:信息技术学院

月:计算机1班

学年

图1-30名片样式

AA实例目标

□掌握print。函数的用法

AA实例分析

名片中的数据均为字符串类型,因此可以使用print。函数直接打印名片中的内容。

AA代码实现

O【参考代码】

print("XXX大学学生证,)

print(»

print。姓名:张三,)

print「性别:男,)

print「民族:汉族,)

print「出生年月:2003-2-2f)

prints籍贯:湖南长沙1

print(,学院:信息技术学院,)

print(,班级:计算机1班,)

print「入学年月:2021-9-1')

根据上图中名片内容,直接使用print。函数进行打印。

AA代码测试

运行代码,控制台输出结果如下:

xxxx大学学生证

姓名:张三

性另U:男

民族:汉族

出生年月:2003-2-2

籍贯:湖南长沙

学院:信息技术学院

班级:计算机1班

入学年月:2021-9-1

上^习1

飞习:f根据身高体重计算BMI指数

AA需求说明

BMI指数即身体质量指数,是目前国际常用的衡量人体胖瘦程度以及是否健康的一个标准。BMI指数

计算公式如下:

体质指数(BMI)=体重(kg)-(身高2)(m)

编写程序,实现根据输入的身高体重计算BMI值的功能。

AA实例目标

□了解数字类型的使用场景

□熟•练使用input。、print。函数

AA实例分析

在本实例中,计算某个人的BMI值之前需要使用input。函数进行接收输入的数据。因为体重、身高数

据多使用小数表示,所以在Python中需要使用浮点类型表示体重、身高。当接收用户输入的身高、体重数

据后,可以根据体质指数计算公式计算BMI值,例如,身高为L75m,体重为65kg,BMI=65/(1.75*1.75)。

A>代码实现

O【参考代码】

height=float(inputs(,请输入您的身高(m):1))

weight=float(input:(,请输入您的体重(kg):,))

BMI=weight/(height*height)

print「您的BMI值为:\BMI)

首先使用input。函数来接收用户输入的身高、体重数据,然后将用户的输入的数据通过float。转成浮

点数数据,并将结果赋值给变量height与weight,接着根据BMI值计算公式计算结果,最后将计算的结果

赋值给变量BMI,并使用print。函数将变量BMI值进行输出。

AA代码测试

运行代码,控制台输出结果如下:

请输入您的身高(m):1.75

请输入您的体重(kg):65

您的BMI值为:21.224489795918366

上机域习2

练最喜欢的数字

>A需求说明

将你最喜欢的数字存储在一个变量中,再使用这个变量创建一条消息,指出你最喜欢的数字,然后将

这条消息打印出来。

AA实例目标

□掌握类型转换

A>代码实现

g【参考代码】

fav_nub=3

print「我最喜欢的数字是:,+str(fav_nub)+*!*)

习3

练习模拟超市收银抹零行为

A>需求说明

在商店买东西时,可能会遇到这样的情况:挑选完商品进行结算时,商品的总价可能会带有0.1元或

0.2元的零头,商店老板在收取现金时经常会将这些零头抹去。

编写程序,模拟实现超市收银抹零行为。

A>实例目标

□掌握类型转换

□了解不同类型数据在进行计算时存在精度丢失问题.

AA实例分析

在计算商品总金额时经常会带有小数,因此我们可以将商品总金额的数据使用浮点型表示,在Python

中int()函数可以将一个字符串或数字类型转换为整型,同时int()函数具有向下取整的特性,当浮点类型数

据转换为整数类型数据时只保留整数部分,例如,int(5.1)转换后的值为5,通过int()函数这一特性达到了商

品金额抹零行为。

AA代码实现

o【参考代码】

totalmoney=36.15+23.01+25.12#累加总计金额

print「商品总金额为:',totalmoney,,元,)

pay_money=int(total_money)#进行抹零处理

print(,实收金额为:Ipay_money,,元

首先将商品金额进行计后,然后将计算的结果赋值给变量totaLmoney,使用print。函数打印商品应收

金额,接着将商品总金额通过int()函数转换为整数类型,最后使用P「int()函数将实收商品金额打印。

>»代码测试

运行代码,控制台输出结果如下:

商品总金额为:80.28元

实收金额为:80元

上机练习4

fem■[-!

练习I字符串应用

AA需求说明

编写一个独立的程序,并将其保存为名称类似于name_cases.py的文件。

1、个性化消息:将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消息应非常简单,

如"HelloEric,wouldyouliketolearnsomePythontoday?"„

2、调整名字的大小写:将一个人名存储到一个变量中,再以小写、大写和首字母大写的方式显示这个

人名。

3、名言1:找一句你钦佩的名人说的名言,将这个名人的姓名和他的名言打印出来。输出应类似于下

面这样(包括引号):AlbertEinsteinoncesaid,personwhonevermadeamistakenevertriedanythingnew."

4、名言2:名言1,但将名人的姓名存储在变量famous_person中,再创建要显示的消息,并将其存

储在变量message中,然后打印这条消息。

5、剔除人名中的空白:存储一个人名,并在其开头和末尾都包含一些空白字符。务必至少使用字符组

合“\t“和“\n”各一次。打印这个人名,以显示其开头和末尾的空白。然后,分别使用剔除函数lstrip()、rstrip。

和strip。对人名进行处理,并将结果打印出来。

AA实例目标

口掌握字符串的常用方法

AA代码实现

K个性化消息:将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消息应非常简单.

如"HelloEric,wouldyouliketolearnsomePythontoday?"o

号【参考代码】

username=*Eric1

print(*Hello*+user_namewouldyouliketolearnsomePythontoday?*)

2、调整名字的大小金:将一个人名存储到一个变量中,再以小写、大写和首字母大写的方式显示这个

人名。

④【参考代码】

username=*Eric*

print(username.lower())

print(username.upper())

print(user_name.title())

3、名言1:找一句你钦佩的名人说的名言,将这个名人的姓名和他的名言打印出来。输出应类似于下

面这样(包括引号):

AlbertEinsteinoncesaid,"Apersonwhonevermadeamistakenevertriedanythingnew."

0【参考代码】

print(*AlbertEinsteinoncesaid,"Apersonwhonevermadeamistakenevertriedanything

new.n,)

4、名言2:名言1,但将名人的姓名存储在变量famous_person中,再创建要显示的消息,并将其存

储在变量message中,然后打印这条消息。

o【参考代码】

famous_person=*AlbertEinstein,

message=*Apersonwhonevermadeamistakenevertriedanythingnew.,

print(famous_person+*oncesaid,"*+message+*n*)

5、剔除人々中的空白:存储一个人名,并在其开头和末尾都包含一些空白字符。务必至少使用字符组

合“\t“和“\n”各一次。打印这个人名,以显示其开头和末尾的空白。然后,分别使用剔除函数lstrip()、rstrip()

和strip。对人名进行处理,并将结果打印出来。

。【参考代码】

user_name=*Eric,

print(1\t*+user_name.Istrip()+*\n\n*)

print(*\t*+user_name.rstrip()+*\n\n*)

print(*\t,+user_name.strip()+*\n\n*)

上机练习5

练习文本进度条

A>需求说明

进度条以动态方式实时显示计算机处理任务时的进度,它一般由已完成任务量与剩余未完成任务量的

大小组成。编写程序,实现如图2-3所示进度条动态显示的效果。

-—

===================开始下载二二二一二二二二二^^

100%[******************************************:!

64%[********************************==============下载完成==========

⑻下载中(b)下载完成

图2-3文本进度条

>>实例目标

□掌握变量与print。函数的使用

□了解类型转换、模块寻入、for循环、字苻串格式化榆出

A»实例分析

在本实例中可以将进度条拆分为百分比、已完成下载量、未完成下载量、显示输出四部分,其中百分

比使用已完成下载量除以下载总量乘100%所得,已完成下载量使用符号“*”表示,未完成下载量使用符

号来表示,显示输出通过print。函数与format。函数将计算结果根据指定格式输出。

进度条中的下载总量可以设定为50.使用for循环遍历range。函数生成显示下载总量的整数序列,使

用print。函数与format。函数将它们进行格式化输出;进度条的实时刷新可以使用\r来完成,\r可以将输出

的内容返回到第一个指针,后面的内容将会覆盖掉前面的内容,便可以完成实时刷新的效果;最后使用time

模块中的sleep。方法控制进度条下载的速度。根据以上分析可整理出以下实现思路:

(1)导入time模块

(2)设定下载总量

(3)设定for循环的次数

(4)在for循环中分别计算已完成下载量、未完成下载量、百分比

(5)在for循环中对已完成下载量、未完成下载、百分比进行格式化输出

(6)设置进度条下载速度

AA代码实现

o【参考代码】

importtime#导入time模块

incomplete_sign=50#下载总量

print(,=,*23+,开始下载,+,=,*25)

foriinrange(incompletesign+1):

completed=n*n*i#已完成下载量

incomplete="."*(incomplete_sign-i)#未完成「F载量

percentage=(i/incompletesign)*100#百分比

print(n\r{:.Of}%[{}{}]n.format(percentage,completed,incomplete),

end=MM)

time.sleep(0.5)

print('•Xn-+,廿*23+,下载完成,+』,*25)

首先使用import语句导入time模块,然后将设定的下载总量赋值给变量incomplete_sign,通过for循

环遍历range。函数生成的整数序列。需要注意的是,当range。函数没有指定其实数字时,生成的整数序列

从0开始,当进度条下载量为0%时,需要使用50个表示,因此生成的整数序列为incomplete_sign+l,

接着分别计算已完成下载量,未完成下载量、百分比。在使用print。函数输出时,需要注意最后使用end=””

替换末尾的换行符,这样每次刷新的进度条都只在一行中显示。

A>代码测试

运行代码,控制台输出结果如下(下载中):

始下载

56^[****************************

运行代码,控制台输出结果如下(下载完成):

=======================开始下载=========================

100%[**************************************************]

=======================下载完成=========================

上机练习6

EKSK■口

练习敏感词替换

AA需求说明

敏感词是指带有敏感政治倾向、暴力倾向、不健康色彩的词或不文明的词语。大部分网站、论坛、社

交软件都会使用敏感词过滤系统,考虑到该系统的复杂性,这里使用字符串中的replace。方法模拟敏感词

过滤,将含有敏感词的语句使用“*”符号进行替换。

编写程序,实现替换语句中敏感词功能。

AA实例目标

□掌握字符串replace。方法的使用

□了解Python中for循环和if语句的使用

AA实例分析

本实例首先需要一个敏感词库,当用户输入的语句中有敏感词库中的词语时,便使用replace。方法替

换敏感词。为了保证用户输入的每个词都进行检测,需要使用for循环来完成,最后使用print函数将检测

后的语句输出。根据以上分析可整理出以下实现思路:

(1)设定一个敏感词库(本案例敏感词库为一字符串);

(2)使用for循环遍历敏感词库;

(3)在for循环中使用if语句判断用户输入的语句中是否含有敏感词,如果包含敏感词,使用replae()

方法将其替换为"*";

(4)在for循环中将替换后的语句赋值给变量test_sentence;

(5)在for循环外使用print。函数输出变量test_sentenceo

>A代码实现

Q【参考代码】

sensitive_character=,你好,#敏感词库

test_sentence=input「请输入一段话:,)

forlineinsensitive_character:#遍历输入的字符是存在敏感词库中

iflineintest_sentence:#判断是否包含敏感词

test_sentence=test_sentence.replace(line,***)

print(test_sentence)

以上代码首先使用变量sensitive_character存储设定的敏感词,然后定义用于存储每次替换后过滤语句

的变量result,接着使用input。函数接收用户输入的语句,使用for循环遍历敏感词库,使用if语句判断输

入的语句中是否包含敏感词,如果包含敏感词使用字符串中的replace。方法替换,将每次替换后的结果赋

值给变量tesjsentence,最后使用print。函数输入替换后的语句。

A»代码测试

运行代码,控制台输出结果如下:

请输入一段话:你好,我是张三

**,我是张三

上机练习7

■口

练习数字8

A>需求说明

编写4个表达式,它们分别使用加法、减法、乘法和除法运算,但结果都是数字8。为使用print语句

来显示结果,务必将这些表达式用括号括起来,也就是说,你应该编写4行类似于下面的代码:

print(5+3)

输出应为4行,其中每行都只包含数字8。

>A实例目标

□掌握基本运算苻

口掌握类型转换

AA代码实现

g【参考代码】

print(5+3)

print(10-2)

print(2*4)

print(int(16/2))

上r机习8

练习摄氏温度将其转为华氏温度

>A需求说明

华氏温标:是德国人华伦海特(Fahrenheit)于1714年创立的温标。它以水银作测温物质,定冰的熔

点为32度,沸点为212度,中间分为180度

摄氏温标:1740年瑞典人摄尔修斯(Celsius)提出在标准大气压下,把冰水混合物的温度定为0摄氏

度,水的沸点规定为100度。根据水这两个固定温度点来对温度进行分度。两点间作工00等分,每段间隔

称为1摄氏度,记作

华氏温标与摄氏温标是两大国际主流的计量温度的标准,这两个不同的温度计量标准也是可以进行转

换的分别如下:

□摄氏温度转华氏温度:"华氏度=32+摄氏度x1.8"

□华氏温度转摄氏温度:"摄.氏度=(华氏度-32)+1.8”

编写程序,根据用户输入的摄氏温度将其转为华氏温度。

A>实例目标

□巩固Python数据类型的应用

□巩固Python中input。函数的应用

□巩固数据类型转换函数的使用

A>代码实现

Q【参考代码】

#coding:UTF-8

defmain():

Celsius=float(input("请输入摄氏温度:"))

fahrenheit=Celsius*9/5+32#将摄氏温度转为华氏温度

print("输入的摄氏温度为:%s,转为华氏温度为:%sM%(Celsius,fahrenheit))

ifname=="main":#判断程序执行名称

main()

上机练习1

练习判断4位回文数

AA需求说明

所谓回文数,就是各位数字从高位到低位正序排列和从低位到高位逆序排列都是同一数值的数,例如,

数字1221按正序和逆序排列都为1221,因此1221就是一个回文数;而1234的各位按倒序排列是4321,

4321与1234不是同一个数,因此1234就不是一个回文数。

编写程序,判断输入的4位整数是否是回文数。

A>实例目标

□掌握if...else语句的用法

A>实例分析

判断一个4位数是否是回文数,可以将这个4位数进行拆分,并进行重新组合,比较重新组合后的大

小与原数大小是否相等,如果相等则该数为回文数,如果不相等,则该数不是回文数。例如,abed是一个

4位数,使用(abcd/1000)方式获取千位上的数字、使用(abcd/lOOMO)方式获取百位上的数字、使用

(abcd/10%10)获取十位上的数字、使用(abed断0)获取个位上的数字,根据回文数规则可以使用

d*1000+c*100+b*10+a表示重新组合的数字,如果abed与deba值相等,那么它就是一个回文数,如果

abed与deba值不相等,那么它就不是回文数。

A>代码实现

Q【参考代码】

palindrome_num=int(input(“请输入•个四位数:"))

single=int(palindromenum/1000)

ten=int(palindrome_num/100%10)

hundred=int(palindrome_num/10%10)

ths=int(palindrome_num%10)

reverse.order=ths*1000+hundred*100+ten*10+single

ifpalindrome_num==reverse_order:

print(palindromenum,"是回文数”)

else:

print(palindrome_num,“不是回文数”)

首先使用input。函薮接收输入的四位数、使用int()函数将接收的数据换为int类型并赋值给变量

palindrome_num,然后对输入的四位数进行拆分分别将个位数字、十位数字、百位数字、千位数字赋给变

量single、ten、hundreD.ths,接着将获取到的数字按照回文数的特点重新组合一个新的四位数并赋值给

变量reverse.order,最后使用if...else语句判断变量reverse_num的值与变量palindrome.num的值是否相

等,如果相等,则为回文数。

AA代码测试

运行代码,控制台输出结果如下(是回文数):

请输入一个四位数:1221

1221是回文数

运行代码,控制台输出结果如下(不是回文数):

请输入•个四位数:1200

1200不是回文数

上机练习2

习奖金发放

A>需求说明

某企业发放的奖金是根据利润和提成计算的,其规则如表3-1所示。

表3-1奖金发放规则

利润/万元IW1010<IW2020<IW3030<IW4040<IW6060<IW100

奖金提成/%107.5531.51

编写程序,实现快速计算员工应得奖金的功能。

»实例目标

□掌握if...elif语句的使用

A>实例分析

奖金的薪酬提成与员工产生的利润有直接关系,根据上表可知,该企业将利润提成分为6个档次,不

同的档次奖金提成不同,因此可使用Python中条件分支结构来实现该案例。

例如,某个员工的利润为21万元,其奖金计算规则为100000*10%+100000*7.5%+10000*5%»

AA代码实现

o【参考代码】

profit=float(input(”请输入当月利润,单位为元:”))

bonus=0

ifprofit<=100000:

bonus=10*0.1

elif100000<profit<=200000:

bonus=100000*0.1+(profit-100000)*0.075

elif200000<profit<=300000:

bonus=round(100000*0.1+100000*0.075+(profit-200000)*0.05)

elif300000<profit<=400000:

bonus=100000*0.1+100000*0.075+200000*0.05+(profit-400000)*0.03

elif400000<profit<=600000:

bonus=100000*0.1+100000*0.075+200000*0.05+\

200000*0.03+(profit-600000)*0.015

elif600000<profit<=1000000:

bonus=100000*0.1+100000*0.075+\

200000*0.05+200000*0.03+\

400000*0.015+(profit-1000000)*0.01

print当月应发放奖金总数为%$元,%bonus)

以上代码首先使用input。函数将接收输入的利润金额转换为float类型,并赋值给变量profit,然后根

据变量profit的值按照上表中奖金发放规则进行不同的计算,最后将计算结果使用print。函数进行输出。

AA代码测试

运行代码,控制台输出结果如下:

请输入当月利润,单位为元:210000

当月应发放奖金总数为18000元

卜上机练习3

”女习会员积分规则

A>需求说明

某商场会员的积分规则如表3-2所示。

表3-2会员积分规则

会员积分会员级别会员积分会员级别

0注册会员10000<score^30000金牌会员

0<scoreW2000铜牌会员30000<score钻石会员

2000vscorew10000___________银牌会员

使用if..elif...else语句实现表3-1所示的会员规则。

AA实例目标

□学握if...elif...else语句的使用

AA实例分析

在本实例中计算会员积分规则需要使用input。函数接收输入的数据.因为积分使用整数类型进行表示,

所以需要将接收的数据转换为整数类型,接着根计算规则对输入的积分数据进行计算,在上表中对应着不

同的分类标准,因此可以使用if...elif...else语句判断会员级别的分类标准。

A>代码实现

O【参考代码】

score=int(input(”请输入您的会员积分:”))

ifscore==0:

print(”注册会员”)

elif0<score<=2000:

print(“铜牌会员”)

elif2000<score<=10000:

print(“银牌会员”)

elif10000<score<=30000:

print("金牌会员”)

else:

print「钻石会员,)

上述代码首先定义了一个表示会员积分的变量score,然后根据积分规则从上至下进行等级判断。只要

满足其中的一个条件,程序便会执行对应的输出语句,并结束条件判断语句。例如,输入2500,程序的输

出结果是“银牌会员”。

>A代码测试

运行代码,控制台输出结果如下:

请输入您的会员积分:2500

银牌会员

上机藤习4

F习;;根据身高体重计算某个人的BMI值

AA需求说明

BMI又称为身体质量指数,它是国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。我国制定

的BMI的分类标准如表3-3所示。

表3-3BMI的分类标准

BMI<18.518.5<=24<BMI<=2828<BMI<=32>32

BMI<=24

分类过轻正常过重肥胖非常肥胖

BMI计算公式如下:

身体质量指数(BMI)=体重(kg):身高2面?)

本案例要求编写程序,根据用户输入的身高和体重计算BMI值,并找到对应的分类。

»实例目标

□掌握if...elif...else语句的使用

AA实例分析

在本实例中计算某个人的BMI值需要使用input()函数接收输入的数据,因为体重、身高数据常使用浮

点类型进行表示,所以需要将接收的数据转换为浮点类型,接着根据BMI值计算公式对输入的体重、身高

数据进行计算,在上表中BMI值对应着不同的分类标准,因此可以使用if...elif…else语句判断BMI值的分类

标准。

AA代码实现

□【参考代码】

height=float(input「请输入您的身高(m):,))

weight=floats(input(,请输入您的体重(kg):,))

BMI=weight/(height*height)

print('您的BMI值为告.2f‘%BMI)

ifBMI<18.5:

print「体重过轻,)

elif18.5<=BMI<=24:

print(,体重正常,)

elif24<BMI<=28:

print('体重过重')

elif28<BMI<=32:

print「体重肥胖’)

else:

print(唱E常月匕用「)

以上代码首先使用input。函数来接收用户输入的身高、体重数据,接着将用户的输入的数据通过float。

转成浮点数数据,并将结果赋值给变量height与v^ight,然后根据BMI值计算公式计算结果并将计算的结

果赋值给变量BMI,使用print。函数将变量BMI值进行输出,再使用if...elif...else语句判断BMI值所属分

类,最后使用print。函数将BMI值所属分类输出。

AA代码测试

运行代码,控制台输出结果如下:

请输入您的身高(m):1.75

请输入您的体重(kg):65

您的BMI值为21.22

体重正常

一上机练习5

Eg习根据年份和月份计算当月天数

A>需求说明

根据年份和月份计算当月一共有多少天。

>A实例目标

□熟练使用if...else语句

□熟练使用if嵌套语句

AA代码实现

O【参考代码】

year=int(input(”请输入年份:"))

month=int(input(”请输入月份:/))

ifmonthin[1,3,5,7,8,10,12]:

print(f”{year}年{month}月有31天”)

elifmonthin[4,6,9,11]:

print(伊,{year}年{month}月有30天”)

elifmonth==2:

ifyear%400==0or(year%4==0andyear%100!=0):

print(f”{year}年(month)月有29天”)

else:

print(f”{year}年{month}月有28天”)

上述代码中首先定义了表示年份和月份的变量year和month,分别用于接收用户输入的年份和月份,

然后对月份进行判断:若月份为1、3、5、7、8.10,12,输出"毋*月有31天";若月份为4、6、9、

11.输出“*年*月有30天”;若月份为2月,则需要对年份进行判断:年份为闰年时输出“年*月有29

天”,年份为平年时输出"*年月有28天”。

A>代码测试

运行代码,控制台输出结果如下:

请输入年份:2021

请输入月份:2

2021年2月有28天

(_上机练习6

练习:模拟乘客进站流程

AA需求说明

火车和地铁的出现极大地方便了人们的出行,但为了防止不法分子,保障民众安全,进站乘坐火车或

者乘坐地铁之前,需要先接受安检。部分车站先验票后安检,亦有车站先安检后验票。以先验票后安检的

车站为例,乘客的进站流程如下:

(1)验票:检查乘客是否购买了车票

□如果没有车票,不允许进站

□如果有车票,对行李进行安检。

(2)行李安检:检查是否携带危险物品

□如果携带危险物品,提示不允许上车

□如果未携带危险物品,顺利进站。

编写程序,模拟乘客进站流程。

>>■实例目标

□熟练使用if...else语句

□熟■练使用if嵌套■语句

AA实例分析

无论乘客乘坐火车还是地铁都需要进行安检,例如在乘客火车时,首先需要对车票进行判断,如果乘

客没有车票则不允许进站,如果乘客有车票则允许进站,并需要对所携带的行李进行安检,如果行李中所

携带危险物品,则不允许乘客乘坐火车,如果没有携带危险物品,则允许乘客上车。

A>代码实现

0【参考代码】

ticket=1#用1代表有车票

hazardous_substance=0#用0代表没有携带危险物品,1表示携带危险物品

ifticket==1:

print(”有车票,可以进站”)

ifhazardous_substance==0:

print(“蜘安检”)

print("终于可以见至ijTa了,美滋滋~~~”)

else:

print("没有通过安检")

print(”携带危险物品,不能进站

else:

print(”没有车票,不能进站”)

print(”亲爱的,那就下次见了,一票难求啊

首先设定分别表示是否携带车票以及危险物品的变量ticket与hazardous_substance,当变量ticket值为

1时表示携带车票,执行外层if语句中的代码,接着使用if语句判断是否携带危险物品,如果没有携带使

用prinl()函数输出“通过安检”与“终于可以见到Ta了,美滋滋——二否则使用prim()函数输出“没有通过安

检”与“”携带危险物品,不能进站

如果变量ticket值不为1时则表示没有携带车票,此时执行外层else语句中的代码,即使用print。函

数输出“没有车票,不能进站”和“亲爱的,那就下次见了,一票难求啊——(>_<)——"。

>A代码测试

运行代码,控制台输出结果如下:

有车票,可以进站

通过安检

终于可以见到Ta了,美滋滋~~~

上机练习7

y东习快递计费系统

AA需求说明

快递行业的高速发展,人们邮寄物品变得方便快捷。某快递点提供华东地区、华南地区、华北地区的

寄件服务,其中华东地区编号为01、华南地区编号为02、华北地区编号为03。该快递点寄件价目表具体

如表3-4所示。

表3・4寄件价目表

地区编号|首重/元(42kg)续重/(元/kg)

华东地区(01)133

华南地区(02)122

华北地区(03)144

根据表3-4提供的数据编写程序,实现快递计费系统。

»实例目标

□熟练使用if...else语句

□熟练使用if语句的嵌套

AA实例分析

根据寄件价目表可知,在进行快件邮寄时需要先选择所属地区,不同地区快递邮寄价格不同,例如,

在华东地区邮寄3kg商品,快递收费公式为:首重+续重*3,即13+1*3,共计16元。

A>代码实现

④【参考代码】

weight=float(input("请输入快递重量:”))

print「编号01:华东地区编号02:华南地区编号03:华北地区,)

place=inputs(”请输入地区编号:“)

ifweight<=2:

ifplace==*01*:

print「快递费为13元,)

elifplace=='02’:

print「快递费12元,)

elifplace==*03*:

prints快递费14元,)

else:

excessweight=weight-2

ifplace==*01*:

many=excessweight*3+13

print1快递费为%.If元,%many)

elifplace==*02*:

many=excessweight*2+12

print「快递费为岩.If元,%many)

elifplace==*03*:

many=excess_weight*4+14

print「快递费为也.If元,%many)

首先使用input。函数将接收输入的快递重量,如果快递重量小于等于2kg,执行外层if语句中的代码,

并使用print。函数输出快件所需的邮寄费用;如果快递重量大于2kg,那么需要计算出续重的重量,然后再

根据不同地区续重的价格计算快递总费用。

AA代码测试

运行代码,控制台输出结果如下:

请输入快递重量:6

编号01:华东地区编号02:华南地区编号03:华北地区

请输入地区编号:02

快递费为20.0元

i上机练习8

练习;i逢七拍手游戏

AA需求说明

逢7拍手游戏的规则是:从1开始顺序数数,数到有7或者包含7的倍数的时候拍手。编写程序,模

拟实现逢七拍手游戏,输出100以内需要拍手的数字。

>A实例目标

□掌握for循环与range。函数的使用

□掌握字符串中find。方法的使用

AA实例分析

判断一个数字是否与7相关,可分为两种情况:

L是否为7的倍数,即一个数取模值为0;

2.是否包含7,使用find。方法判断,当返回值为-1时表示不包含7。

A>代码实现

g【参考代码】

foriinrange(1,101):

#把i转成字符串,使用£ind方法(字符串中不包含时,返回-1)

include=str(i).find(n7n)

#判断条件:既不包含7,也不是7的倍数

ifinclude==-1andint(i)%7!=0:

#输出,去掉了换行符,加了、

print(i,end='\'*)

#如果包含7输出*

elifinclude!=-1orint(i)%7==0:

print("*n,end=L')

首先使用for循环与range。函数生成1-100的整数序列,之后通过字符串中的find()方法判断1-100

中每个数字是否包含7,并将返回值赋值给变量include,然后使用if...elif语句判断每个数字是否与7相关,

如果include的值为口并且该数与7取模的值不为0,则该数与7无关,如果include的值不为或者与

7取模的值为0,那么该数与7相关,使用print。函数打印“旷符号。

AA代码测试

运行代码,控制台输出结果如下:

1,2、3.4.5、6、*、8,9、10,11,12,13、*、15、16、*,18、19,20、*、22、23、24、25、26、*、*、

29、30,31、32、33、34、*、36、*、38、39、40、41、*、43^44、45、46、*、48、*、50^51、52、53、

54、55、*、*、58、59、60、61、62、*、64、65、66、*、68、69、*、*、*、*、*、*、*、*、*、*、80、81.

82、83、*、85、86、*、88、89、90、*、92、93、94、95、96、*、*、99、100,

(_上机练习9

■口

练习数据加密

AA需求说明

数据加密是保存数据的一种方法,它通过加密算法和密钥将数据从明文转换为密文。

假设当前开发的程序中需要对用户的密码进行加密处理,已知用户的密

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论