Python 从入门到入门基础练习十五题
1、永远的 HelloWorld
print("Hello World")
2、M与N的数学运算:用户输入两个数 M 和 N,其中 N 是整数,计算M 和 N 的5种数学运算结果,并依次输出,结果间用空格分隔。
5种数学运算分别是:M 与 N 的和、M 与 N 的乘积、M 的 N 次幂、M除 N 的余数、M 和 N 中较大的值。
m = eval(input())
n = eval(input())
list = []
list.append(str(m+n))
list.append(str(m*n))
list.append(str(m**n))
list.append(str(m%n))
if m > n:
list.append(str(m))
else:
list.append(str(n))
print(" ".join(tuple(list)))
3、将输入的字符串垂直输出
def Output(string):
for char in string:
print(char)
s = input()
Output(s)
4、计算矩形面积:用户输入矩形的长和宽,计算其面积并输出,结果四舍五入,保留2位小数。
a = eval(input("请输入矩形长度:"))
b = eval(input("请输入矩形宽度:"))
print("面积是:%.2f"%(a*b))
5、计算2的n次方,n由用户输入
a = eval(input())
print(2**a)
6、成绩转换:编写一个学生成绩转换程序,用户输入百分制的学生成绩,成绩大于或等于60的输出“pass”,否则输出“fail”,成绩不四舍五入。
a = eval(input())
if 100 >= a >= 60:
print("pass")
else:
print("fail")
7、完美立方:找到大于1的4个整数满足完美立方等式:a3=b3+c3+d3(例如123=63+83+103)。编写一个程序,对于任意给定的正整数N(N ≤100),寻找所有的四元组(a,b,c,d),满足a3=b3+c3+d3,其中1<a,b,c,d≤N。
n = int(input()) # n范围内的立方数
list_cube = [0] # 用于存储立方数的列表
for i in range(1, n + 1):
list_cube.append(i * i * i)
for a in range(6, n + 1):
for b in range(2, a - 1):
if list_cube[a] < (list_cube[b] + list_cube[b + 1] + list_cube[b + 2]):
break
for c in range(b + 1, a):
if list_cube[a] < (list_cube[b] + list_cube[c] + list_cube[c + 1]):
break
for d in range(c + 1, a):
if list_cube[a] == (list_cube[b] + list_cube[c] + list_cube[d]):
print("Cube=%d,Tripe=(%d,%d,%d)" % (a, b, c, d))
8、货币转换:写一个程序进行货币间币值转换,其中:人民币和美元间汇率固定为:1美元 = 6.78人民币。
程序可以接受人民币或美元输入,转换为美元或人民币输出。人民币采用RMB表示,美元USD表示,符号和数值之间没有空格。
import re
money = input().lower()
tmp=re.findall('usd|rmb',money)
if len(tmp)==0 or len(tmp)>1:
print('wrong')
money=re.sub(tmp[0],'',money)
try:
num=float(money)
if 'usd' in tmp:
print('RMB%.2f'%(num*6.78))
else:
print('USD%.2f'%(num/6.78))
except:
print('wrong')
9、月份缩写:如果有 months = "Jan.Feb.Mar.Apr.May.Jun.Jul.Aug.Sep.Oct.Nov.Dec.",编写一个程序,用户输入一个月份的数字,输出月份的缩写。
months = "Jan.Feb.Mar.Apr.May.Jun.Jul.Aug.Sep.Oct.Nov.Dec."
n = input()
#(每个月份的数字-1)*4就是这个月份简写的开始索引,截取4个字符
index = (int(n)-1)*4
month = months[index: index + 4]
print(month)
10、温度转换:编写程序将用户输入华氏度转换为摄氏度,或将输入的摄氏度转换为华氏度。
转换算法如下:(C表示摄氏度、F表示华氏度)
C = ( F - 32 ) / 1.8
F = C * 1.8 + 32
要求如下:
(1) 输入输出的摄氏度采用大写字母C开头,温度可以是整数或小数,如:C12.34指摄氏度12.34度;
(2) 输入输出的华氏度采用大写字母F开头,温度可以是整数或小数,如:F87.65指摄氏度87.65度;
(3) 不考虑异常输入的问题,输出保留小数点后两位;
Temperature = input()
if Temperature[0] in ['F']:
C = (eval(Temperature[1:])-32)/1.8
print("C{:.2f}".format(C))
else:
F = 1.8*eval(Temperature[1:])+32
print("F{:.2f}".format(F))
11、汇率兑换:按照1美元=6人民币的汇率来编写一个美元与人民币的双向兑换程序
money = input()
if money[-1] in ['$']:
m = 6*eval(money[:-1])
print("{:.2f}R".format(m))
else:
if money[-1] in ['R']:
m = eval(money[:-1])/6
print("{:.2f}$".format(m))
else:
print("输入错误!")
12、恺撒密码:凯撒密码是古罗马凯撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下:
原文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
密文:D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
对于原文字符P,其密文字符C满足如下条件:C=(P+3) mod 26
上述是凯撒密码的加密方法,解密方法反之,即:P=(C-3) mod 26
假设用户可能使用的输入仅包含小写字母a~z和空格,请编写一个程序,对输入字符串进行凯撒密码加密,直接输出结果,其中空格不用进行加密处理。
sr1 = "abcdefghijklmnopqrstuvwxyz"
sr2 = sr1.upper()
sr = sr1 + sr1 + sr2 + sr2
in_str = input("")
out_str = ""
for j in in_str:
if j == " ":
out_str = out_str + " "
continue
i = sr.find(j)
if(i > -1):
out_str = out_str + sr[i+3]
print(out_str)
13、个人所得税计算:个人所得税采用“超额累进税率”计算方法,简化公式如下:
缴税 = (个人薪金扣险所得 – 个税免征额)* 税率
其中,个税免征额为3500元,税率根据应纳税额数量而不同,如下图所示:
注意:“应纳税额”为:个人薪金扣险所得 – 个税免征额
请编写一个程序根据用户输入计算个人所得税,用户输入是个人薪金扣险所得。
约定用户输入为以人民币元为单位的整数。
m = int(input())
ans = 0
if m > 3500:
m1 = m - 3500
if m1 < 1500:
ans = 0.03 * m1
elif m1 < 4500:
ans = 0.1 * m1
elif m1 < 9000:
ans = 0.2 * m1
elif m1 < 35000:
ans = 0.25 * m1
elif m1 < 55000:
ans = 0.3 * m1
elif m1 < 80000:
ans = 0.35 * m1
else:
ans = 0.45 * m1
else:
ans = 0
print("%.0f"%ans)
14、3位水仙花数计算:“3位水仙花数”是指一个三位整数,其各位数字的3次方和等于该数本身。例如:ABC是一个“3位水仙花数”,则:A的3次方+B的3次方+C的3次方 = ABC。
请按照从小到大的顺序输出所有的3位水仙花数,请用一个“逗号+空格”分隔输出结果。
import math
list = []
for i in range(100, 1000):
x = math.floor(i / 100)
y = math.floor((i - x * 100) / 10)
z = i - math.floor(i / 10) * 10
if i == x ** 3 + y ** 3 + z ** 3:
list.append(str(i))
print(", ".join(tuple(list)))
15、统计下列英文诗歌:
All that doth flow we cannot liquid name
Or else would fire and water be the same;
But that is liquid which is moist and wet
Fire that property can never get.
Then 'tis not cold that doth the fire put out
But 'tis the wet that makes it die, no doubt.
编程实现对纽卡斯伯爵的不朽名篇What Is Liquid的统计工作。这首诗(1)有多少个字符?(计入空格和换行符)(2)判断是否以All开头?(3)判断是否以That's all, folks!结尾?(4)第一次和最后一次出现单词the的位置(偏移量)。(5)the出现的总次数?(6)判断诗中出现的所有字符是否都是字母和数字?
s = "All that doth flow we cannot liquid name Or else would fire and water be the same;But that is liquid which is moist and wet Fire that property can never get. Then 'tis not cold that doth the fire put out But 'tis the wet that makes it die, no doubt. "
print("这首词总共有:" + str(len(s)) + "个字符串")
print("这首诗是否以All开头:",s.startswith('All'))
print("这首诗是否以That\'s all, folks!结尾:",s.endswith('That\'s all, folks!'))
print("第一次出现单词the的位置:",s.find(' the '))
print("最后一次出现单词the的位置:",s.rfind(' the '))
print("the在诗中出现的总次数:",s.count(' the '))
print("是否诗中出现的所有字符都是字母和数字:",s.isalnum())
扫描关注微信公众号,了解更多
Python 从入门到入门基础练习十五题的更多相关文章
- Bootstrap <基础二十五>警告(Alerts)
警告(Alerts)以及 Bootstrap 所提供的用于警告的 class.警告(Alerts)向用户提供了一种定义消息样式的方式.它们为典型的用户操作提供了上下文信息反馈. 您可以为警告框添加一个 ...
- Java15-java语法基础(十五)——内部类
java16-java语法基础(十五)内部类 一.内部类: 可以在一个类的内部定义另一个类,这种类称为内部类. 二.内部类分为两种类型: 1.静态内部类: 静态内部类是一个具有static修饰词的类, ...
- Java基础之十五 泛型
第十五章 泛型 一般的类和方法,只能使用具体的类型:要么是基本类型,要么是自定义类型.如果要编写可以应用于多种类型的代码,这种刻板的限制对代码的束缚就会很大. 在面对对象编程语言中,多态算是一种泛化机 ...
- Py修行路 python基础 (十五)面向对象编程 继承 组合 接口和抽象类
一.前提回忆: 1.类是用来描述某一类的事物,类的对象就是这一类事物中的一个个体.是事物就要有属性,属性分为 1:数据属性:就是变量 2:函数属性:就是函数,在面向对象里通常称为方法 注意:类和对象均 ...
- Python基础(十五)
今日主要内容 模块初识 模块导入 模块路径 自定义模块 内置模块(标准库) time datetime random sys os funtools 一.模块初识 (一)什么是模块 其实我们创建的每一 ...
- Python基础(十五):Python的3种字符串格式化,做个超全对比!
有时候,为了更方便.灵活的运用字符串.在Python中,正好有3种方式,支持格式化字符串的输出 . 3种字符串格式化工具的简单介绍 python2.5版本之前,我们使用的是老式字符串格式化输出%s. ...
- Redis入门到高可用(十五)—— GEO
一.简介 二.应用场景 三.API 1.geoadd 2.geopos 3.geodist 4.georadius 四.相关说明
- Redis入门到高可用(十五)—— HyperLogLog
一.简介 二.API Demo 三.使用经验
- Hadoop MapReduce编程 API入门系列之最短路径(十五)
不多说,直接上代码. ======================================= Iteration: 1= Input path: out/shortestpath/input. ...
随机推荐
- 2018年最完整5大网页设计图标解决方案:Font Awesome奥森图Unicode、CSS 和、Font以及国产zfont图标集
网上有很多高质量的图标,基于icon的关键词能在Google上搜索到不少内容,不考虑版权外还要修改大小.颜色等等,现在介绍一些替代方案:Unicode.CSS 和 Font,它具有更高的灵活性. 方案 ...
- SCU 4438 Censor KMP/Hash
题意:给定一个模式串和文本,要求删除所有模式串.可能删除后会形成新的模式串,必须全部删除. 思路1:kmp算法求得失配数组,用一个match数组记录文本串中第i字符和未删除的字符能匹配模式串的长度.这 ...
- uva12325 暴力枚举
这题刚开始我就贪心,直接wrong了,贪心适合可以取一个物体部分的题. 还是老实枚举吧,注意枚举要分类,不然可能会超时,还有注意答案是long long AC代码: #include<cstdi ...
- 妙用ES6解构和扩展运算符让你的代码更优雅
http://www.cnblogs.com/chrischjh/p/4848934.html
- swift 学习之自动引用计数
swift 学习之自动引用计数 学习和研究的主要是"实例对象和实例对象直接的相会强引用所产生的内从泄漏"和"使用闭包产生的强引用造成的内存泄漏" 注意:只有以引 ...
- JDBC异常之数据库表不存在
JDBC异常之数据库表不存在 1.具体错误如下: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:Table 'YHD.t_yhd_ ...
- Linux显示包含全部的文件系统
Linux显示包含全部的文件系统 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ df -a 文件系统 1K-blocks 已用 可用 已用% 挂载点 /dev ...
- directX视频播放------手动连接
IGraphBuilder *pigb = NULL; IMediaControl *pimc = NULL; IMediaEventEx *pimex = NULL; IVideoWindow *p ...
- spring ioc(反转控制)
在Java中,我们建立一个对象的方式是new,有时需要单例,有时需要工厂,而spring中的bean的定义可以直接使用,如scope属性single产生单例对象,prototype产生新对象,bean ...
- hdu5798 Stabilization
温习一下多校的题目 这题主要抓住一点,亦或值的贡献是固定的 所以按位搜索即可 #include<bits/stdc++.h> using namespace std; typedef lo ...