python课设代码_python课程编程题汇总(上)

python编程题汇总

众所周知,由于疫情的原因,大家都在上网课,我也不例外啦~

用这个贴子来记录也和大家分享一下我们课上的编程讨论题

中篇在此→python课程编程题汇总(中)

下篇在此→python课程编程题汇总(下)

1、货币转换

编写货币转换程序

描述:

人民币和美元是世界上通用的两种货币之一,写一个程序进行货币间币值转换,其中:

人民币和美元间汇率固定为:1美元 = 6.78人民币。

程序可以接受人民币或美元输入,转换为美元或人民币输出。人民币采用RMB表示,美元USD表示,符号和数值之间没有空格。

注意:获得输入请使用input()

MoneyStr = input("请输入带有符号的数值:")

if MoneyStr[-1] in['B','b']:

USD=eval(MoneyStr[0:-3])/6.78

print("转换后的金额为{:.2f}USD".format(USD))

elif MoneyStr[-1] in['D','d']:

RMB=eval(MoneyStr[0:-3])*6.78

print("转换后的金额为{:.2f}RMB".format(RMB))

else:

print("输入格式错误")

2、超市买苹果

需求:收营员输入苹果价格单位为元/斤,用户购买苹果的重量,单位为斤,计算并且输出付款金额

注意:用户输入用input()函数

转换函数int(x)、float(x)

DJ = eval(input("请输入苹果单价(元/斤):"))

ZL = eval(input("请输入苹果重量(斤):"))

print("付款金额为:{:.2f}".format(DJ*ZL))

3、随机数的产生

编写程序:

随机产生一个8位数,每位数字可以是1到6中的任意一个整数

提示:查阅random库使用,字符串拼接作用

>>> import random

>>> for i in range(8):

a=random.randint(1,6)

print(a,end='')

4、字符串截取

思考与练习

str = ‘hellopython’

1、截取第一位到第四位的字符

2、截取第二位到第八位之前的字符

3、截取字符串的全部字符

4、截取第六个字符到结尾

5、截取从头开始到倒数第五个字符之前

6、截取第三个字符

7、截取倒数第一个字符

8、逆序截取

9、截取倒数第三位与倒数第一位之前的字符

10、截取倒数第三位到结尾

11、逆序截取,步长为3

>>> str = 'hellopython'

>>> str[0:4]

'hell'

>>> str[1:7]

'ellopy'

>>> str[:]

'hellopython'

>>> str[5:]

'python'

>>> str[:-5]

'hellop'

>>> str[2]

'l'

>>> str[-1]

'n'

>>> str[::-1]

'nohtypolleh'

>>> str[-3:-1]

'ho'

>>> str[-3:]

'hon'

>>> str[::-3]

'ntoe'

5、表达式计算

>>>a=2

>>>b=4

>>>x=6

>>>y=5

>>>c=1

>>>e=2.759

>>>import math

>>>(math.sin(a)+math.sin(b))/(a+b)

0.025415821919625586

>>> 1/3*((a**3+b**3+c**3)**(1/3))

1.3931130654604105

>>> (e**abs(x-y))/(3**x+(6**0.5)*math.sin(y))

0.03128093849812538

6、写出表达式

按要求写出Python表达式。

(1)将整数k转换成实数。

(2)求实数x的小数部分。

(3)求正整数m的个、十、百位数字。

//1

float(k)

//2

x-int(x)

//3

m%10 //个位

m%100//10 //十位

m%1000//100 //百位

7、if-elif-else多分支结构

思考与练习

利用if-elif-else多分支结构

用户输入一个x的值,编写一段程序,利用format输出x和分段函数的值

x=eval(input("请输入x:"))

if x>2:

y=4*x-5

elif -1<=x and x<=2:

y=x*x+3

else :

y=-x+10

print("x为{0:.2f},得分段函数的值y={1:.2f}".format(x,y))

8、if-else 二分支结构

思考与练习

利用if-else 二分支结构编写程序

输入三条边长如果能构成三角形就计算周长和面积

a=eval(input("请输入a边边长:"))

b=eval(input("请输入b边边长:"))

c=eval(input("请输入c边边长:"))

triangle=(a+b)>c and (a+c)>b and (b+c)>a and abs(a-b)

if triangle:

C=a+b+c

p=C/2

S=(p*(p-a)*(p-b)*(p-c))**0.5

print("可构成三角形,该三角形的周长为{0:.2f},面积为{1:.2f}".format(C,S))

else:

print("不可构成三角形")

9、蒙特卡罗方法

思考

1、 蒙特卡罗方法的基本思想是什么?

2、 如何利用蒙特卡罗方法求解π?

//1.基本思想:利用概率模型及随机过程解决一系列实际问题。

//2.构造一个单位正方形和一个单位圆的1/4,计算机随机产生两个0-1之间的数作为

//点的横纵坐标,从点到原点的距离判断是否在圆内,统计落在1/4圆的个数以及落在

//单位正方形的个数,二者相除再乘以四得到最终结果为 π。

from random import random

from time import perf_counter

DARTS=1000*1000

hits=0.0

start=perf_counter()

for i in range(1,DARTS+1):

(x,y=random(),random())

dist=pow(x**2+y**2,0.5)

if dist<=1.0:

hits=hits+1

pi=4*(hits/DARTS)

print("圆周率的值是:{}".format(pi))

print("运行时间是:{:.5f}s".format(perf_counter()-start))

10、常见的异常错误

列举一些常见的异常错误

1、SystemExit:解释器请求退出

2、Keyboardlnterrupt:用户请求中断执行(通常输入Ctrl + C)

3、Stoplteration:迭代器没有更多的值

4、StandardError:所有的内建标准异常的基类

5、GeneratorExit:生成器(generator)发生异常来通知退出

6、ArithmeticError:所有数值计算错误的基类

7、FloatingPointError:浮点数计算错误

8、OverflowError:数值运算超出最大限制

9、ZeroDivisionError:除零错误

10、AssertionError :断言语句失败

11、AttributeError:对象没有这个属性

12、EOFError:没有内建输入,到达EOF标记

13、EnvironmentError:操作系统错误的基类

14、IOError:输入/输出操作失败

15、OSError:操作系统错误

16、WindowsError:系统调用错误

17、ImportError:导入模块/对象失败

18、LookupError:无效数据查询的基类

19、IndexError:序列中没有此索引(index)

20、KeyError:映射中没有这个键

21、MemorryError:内存溢出错误

22、NameError:未声明/初始化对象(没有属性)

23、UnboundLocalError :访问未初始化的本地变量

24、ReferenceError:弱引用(weak reference)试图访问已经回收的对象

25、RuntimeError:一般运行时错误

26、NotlmplementedError:尚未实现的方法

27、SyntaxError:python语法错误

28、IndentationError:缩进错误

29、TabError:Tab和空格混用

30、SystemError:一般解释器系统错误

31、TypeError:对类型无效的操作

32、ValueError:传入无效的参数

33、UnicodeError:Unicode相关的错误

34、UnicodeDecodeError:Unicode 解码时错误

35、UnicodeEncodeError:Unicode 编码时错误

36、UnicodeTranslateError :Unicode转换时错误

11、if中判断的条件

思考与讨论

if中判断的条件是否只有bool类型表达式?能否是str类型,或者其他?

不是,可以是任意数值,例如list类型、str类型、set类型、dict类型,但编译系统会把这个表达式强制转成逻辑值

12、循环输出等腰三角形

使用循环输出等腰三角形,打印下面图形

for i in range(1,5):

for j in range(4-i):

print(" ",end="")

for a in range(2*i-1):

print("*",end="")

print("\n")

13、猴子吃桃问题

思考与练习

猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少?

要求:利用递归编写代码

N=10

n=0

def taozi(n):

n=(n+1)*2

return n

for i in range(N):

if i==0:

n=1

else:

n=taozi(n)

print("第一天摘了{}个桃子".format(n))

14、九九乘法表

思考与练习

利用for循环语句 打印输出九九乘法表

for i in range(1,10):

for j in range(1,i+1):

print("{}*{}={}".format(i,j,i*j),end=" ")

print("\n")

15、实例“身体质量指数BMI”讨论

思考与讨论

1、 观察实例5.1或5.2中的条件区间范围划分,思考划分的规则是什么?

2、 观察实例代码5.1中的第8行和第10行,思考为何代码不按照注释方式写全变量的最小边界?

3、 Python中判断条件24<=28<25是否合法?其值是什么?

4、 实例代码5.1中第2行最后的反斜杠\有什么作用?

1、5.1是分别根据不同的范围标准来划分,一个是国际BMI标准,一个是国内的标准;5.2是将两个标准整理后,编写在同一个程序中的。

2、因为第一个判断条件中“bmi=18.5不是偏瘦,所以当程序运行时,第一个判断为Falses时,可得此时的bmi>=18.5,就会进入到第二个判断条件“bmi<25”,此时的判断条件就相当于是“18.5<=bmi<25”;第10行同理。

3、合法,值为False

4、作用是分行,避免一行代码过长

16、各种循环的应用场景

思考与讨论

单分支(if语句)、二分支(if-else语句)、多分支(if-elif-else)、if嵌套的应用场景?

1、单分支语句一般应用于只有一个选项,满足条件时执行,不满足则不执行的场景

2、二分支语句一般应用于有两个方案,选择其中一种执行的场景

3、多分支语句则一般应用于多条件分类执行的场景,如”对不同分数分级的问题“

4、if嵌套语句一般应用于一个条件判断完后还需判断条件的问题场景

17、进度条反映了软件的执行速度,请思考并给出至少2种提高软件执行速度的方法。

1.尽可能优化算法

2.善于使用函数,使程序变的模块化

等等

18、猜数字游戏

预设一个0-9之间的整数,让用户通过键盘输入所猜的数字,如果大于预设的数,显示“遗憾,太大了”;小于预设的数,显示“遗憾,太小了”,如此循环,知道猜中该数,显示“预测N次,你猜中了!”,其中N是用户输入数字的次数。

import random as r

n=r.randint(0,9)

t=eval(input("请输入你猜测的数字:"))

count=0

while(n!=t):

if t>n:

print("遗憾,太大了")

count=count+1

else:

print("遗憾,太小了")

count=count+1

t=eval(input("请输入你猜测的数字:"))

print("预测{}次,你猜中了!".format(count))

19、猜数字游戏2.0

让计算机能够随机产生一个预设数字,范围在0-100之间,其他游戏规则不变。

要求将代码封装到函数中。

def caishuzi():

import random as r

n=r.randint(0,100)

t=eval(input("请输入你猜测的数字:"))

count=0

while(n!=t):

if t>n:

print("遗憾,太大了")

count=count+1

else:

print("遗憾,太小了")

count=count+1

t=eval(input("请输入你猜测的数字:"))

print("预测{}次,你猜中了!".format(count))

caishuzi()

20、货币转换2.0

汇率计算问题

人民币和美元间汇率固定为:1美元 = 6.78人民币

格式要求:20USD 或20RMB

增加如下新功能,完成编写程序

功能1:根据输入判断是人民币还是美元,进行相应的转换计算

功能2:程序可以一直运行,直到用户选择退出

while(True):

MoneyStr=input("请输入带有符号(UBD或RMB)的数值(break)退出:")

if MoneyStr=="break":

break

elif MoneyStr[-1] in ['B','b']:

print("输入货币为人民币")

USD=eval(MoneyStr[0:-3])/6.78

print("转换后的金额为{:.2f}USD".format(USD))

elif MoneyStr[-1] in ['D','d']:

print("输入货币为美元")

RMB=eval(MoneyStr[0:-3])*6.78

print("转换后的金额为{:.2f}RMB".format(RMB))

else:

print("输入的格式错误")

以上只是我个人解法和理解,如果有不同的想法欢迎大家一起讨论~

都看到这里了,给我点个赞呗~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/571539.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安装Python 3.6 在Ubuntu 16.04 LTS 版本

在ubuntu 16.04版本中&#xff0c;系统默认安装 了python 2.7和3.5版本&#xff0c;因为系统本身用到python的程序&#xff0c;删除默认的版本又担心系统有问题&#xff0c;那有没有办法同时在安装和使用python 3.6版本呢&#xff1f;下文将一起安装python 3.6并修改原系统的py…

matlab动画_弹簧振子振动的matlab动画演示

用Matlab阐述物理中的胡克定律&#xff0c;为弹簧振子震动的matlab动画示意图&#xff0c;另有一个为不同质量不同弹簧系数的比较。spring.m,compare.mrectangle(position,[12,8.5,2,0.3],FaceColor,[0.5,0.3,0.4]); axis([0,15,-1,10]); hold on plot([13,13],[7,8.5],r,li…

svn合并分支到主干_谈谈代码分支管理

前言从2019年上半年云音乐的客户端团队开始迁移到双周迭代后&#xff0c;随之而来的是我们需要重新调整代码分支的管理方法&#xff0c;来应对开发流程的变更。双周迭代顾名思义一周开发一周测试&#xff0c;目的就是为了快速交付。纵观整个开发流程&#xff0c;我们需要在两周…

ctf实验平台-成绩单

题目链接&#xff1a;http://120.24.86.145:8002/chengjidan/ 平台地址&#xff1a;http://123.206.31.85/ 第一步&#xff1a;暴库 id-1 union select 1,2,3,group_concat(schema_name) from information_schema.schemata# 第二步&#xff1a;爆表 id-1 union select 1,2,3,ta…

python 扫描仪_玩《Minecraft我的世界》学python编程,可领|取电子学习版本

为何选择学习pythonpython是一种解释型、面向对象、动态数据类型的高级程序设计语言&#xff0c;它具有丰富和强大的库&#xff0c;能够把其它语言&#xff08;尤其是c&#xff09;制作的各种模块很轻松地联结在一起。pyton在编程语言排行榜中高居首位。[求抱抱]编程听起来很高…

python识别虚假新闻的分类器_使用NLP检测和对抗AI生成的假新闻

作者|MOHD SANAD ZAKI RIZVI编译|VK来源|Analytics Vidhya概述由AI生成的假新闻(神经假新闻)对于我们的社会可能是一个巨大的问题本文讨论了不同的自然语言处理方法&#xff0c;以开发出对神经假新闻的强大防御&#xff0c;包括使用GPT-2检测器模型和Grover(AllenNLP)每位数据科…

vue中使用导出表格功能

1.下载依赖 npm install -S file-saver xlsxnpm install -D script-loader 2.在src下创建vendor文件夹&#xff0c;并在文件夹中放两个文件 Blob.js (function (view) {"use strict";view.URL view.URL || view.webkitURL;if (view.Blob && view.URL) {try …

adb shell 书籍_开发必备---你应该知道的一些 ADB 命令

版权声明&#xff1a;本文为LooperJing原创文章&#xff0c;转载请注明出处&#xff01;一、设备相关1、adb devices显示连接到计算机的设备List of devices attachedbe34d81e device输出格式为 [serialNumber] [state]&#xff0c;state 有如下几种&#xff1a;列名解释nodevi…

Angular Reactive Forms -- Model-Driven Forms响应式表单

Angular 4.x 中有两种表单&#xff1a; Template-Driven Forms - 模板驱动式表单 (类似于 AngularJS 1.x 中的表单 ) 官方文档&#xff1a;https://v2.angular.cn/docs/ts/latest/guide/forms.html Reactive Forms (Model-Driven Forms) - 响应式表单 官方文档&#xff1a; …

python实现守护进程_守护进程原理及Python实现

守护进程原理及Python实现守护进程&#xff0c;不依赖于终端&#xff0c;在后台运行的程序&#xff0c;通常称为daemon(ˈdiːmən或ˈdeɪmən)。一些常见的Linux软件通常都是已守护进程的方式运行&#xff0c;比如&#xff1a;nginxredismemcached守护进程的原理&#xff1a;…

python生成器迭代_二十、深入Python迭代器和生成器

「Author&#xff1a;Runsen」学习python的过程中&#xff0c;迭代器与生成器是绕不开的话题&#xff0c; 什么是迭代器和生成器呢&#xff1f;下面我们来了解一下什么是迭代。但在了解迭代器之前&#xff0c;首先需要知道什么是容器。容器正所谓&#xff1a;一切都是对象&…

批改网禁止粘贴怎么破_重大利好!教育部声明,要求家长批改作业等行为,发现一起严处一起...

前段时间&#xff0c;在江苏一位家长发布短视频&#xff0c;他在视频中怒喊&#xff1a;我就退出家长群怎么了&#xff01;引起网上一阵热议起因是这位家长认为老师总是让家长帮忙批改作业&#xff0c;自己承担了太多教师应负的责任&#xff0c;完了还要昧着良心说老师你辛苦了…

mysql实验步骤_MySQL双方配置实验步骤

实验环境&#xff1a;两台MariaDB服务器&#xff0c;IP分别为&#xff1a; 172.16.2.16 和 172.16.2.17MariaDB的版本是5.5.36&#xff0c;使用二进制方式安装。已安装完成。/mydata/data 数据库文件存放目录/mydata/binlog/ 二进制日志文件存放位置/mydata/relaylog/ 中继日志…

mac 系统安装 eclipse 方法

经过好几天的折腾&#xff0c;终于在各种不靠谱的经验、说明的忽悠中把自己心爱的 mac 安装上了 eclipse&#xff0c;看到别人的不靠谱&#xff0c;我决定自己写一篇经验&#xff0c;为了大家能够不走我这么多的弯路&#xff0c;也为了自己将来可以回来看看&#xff0c;下次安装…

python 检测文件更新失败_依赖错误,检测更新失败,提示这个

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼rickrick-PC:~$ sudo apt-get update && sudo apt-get dist-upgrade -y命中:2 https://store.chinauos.com/appstore eagle InRelease获取:1 http://uos.deepin.cn/uos eagle InRelease [20.1 kB]命中:3 http://uos.deepin…

mysql+nest+嵌套事务_MySQL——事务

事务(Transaction)是数据库区别于文件系统的重要特性之一&#xff0c;事务会把数据库从一种一致状态转换为另一种一致状态。关键词事务四大特性ACIDMySql事务隔离级别MVCC多版本并发控制实现方式运行过程MVCC解决了幻读&#xff1f;InnoDB解决幻读的方式事务的分类扁平事务Flat…

谈谈写程序与学英语(转载)

注: 本文的作者是宋劲杉&#xff0c;原文链接。 俗话说&#xff0c;没有金刚钻&#xff0c;就别揽瓷器活儿。套用到IT业&#xff0c;英语不行&#xff0c;就别做程序员。网上关于程序员学英语的文章不少&#xff0c;但我想谈谈我自己的看法。首先详细讨论一下为什么程序员离了英…

python 取日期_python取出所有的日期

python取出所有的日期>>> s "2020-09-09 we have a meeting">>> re.findall([0-9]{4}-[0-9]{2}-[0-9]{2},s)日期的比较2020-09-092020-09-10比较两个日期大小def compare_date(date1,date2) :#取出年&#xff0c;如果同一年#取出月&#xff0c;如…

python自动化和教程_《手把手教你》系列练习篇之2-python+ selenium自动化测试(详细教程)...

1. 简介今天我们还是继续练习练习基本功&#xff0c;各位小伙伴要耐住住性子&#xff0c;要耐得住寂寞啊&#xff0c;不要急躁&#xff0c;后面你会感谢你在前边的不断练习的。到后面也是检验你前边的学习成果的一次很好实践。本文介绍如何通过link text、partial link text、c…

JavaScript高级程序设计之函数表达式

函数表达式是JS中一个强大的特性&#xff0c;尤其是ES6支持Lamada表达式后&#xff0c;更是锦上添花。在前边的文章介绍中&#xff0c;曾经介绍过一种创建函数的方式&#xff0c;函数声明&#xff0c;对函数表达式也有简单介绍。这章将会对函数表达有更详细的介绍。 函数表达式…