概述
环境:Win10操作系统;Python3.7;Pycharm
题目来源:PTA
编程实例1:日期格式化
世界上不同国家有不同的写日期的习惯。比如美国人习惯写成"月-日-年”,而中国人习惯写成"年-月-日”。下面请你写个程序,自动把读入的美国格式的日期改写成中国习惯的日期。
输入格式:
输入在一行中按照"mm-dd-yyyy”的格式给出月、日、年。题目保证给出的日期是1900年元旦至今合法的日期。
输出格式:
在一行中按照"yyyy-mm-dd”的格式给出年、月、日。
输入样例:
03-15-2017
输出样例:
2017-03-15
str =input()
mm= str.split("-",2)[0]
dd= str.split("-",2)[1]
yy= str.split("-",2)[2]
date= yy+"-"+mm+"-"+ddprint(date)
split()方法:
str.split(str="",num=string.count(str)).
str -- 分隔符,默认为所有的空字符,包括空格、换行( )、制表符( )等。
num -- 分割次数。默认为 -1, 即分隔所有。
编程实例2:整数四则运算
本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。
输入格式:
输入在一行中给出2个正整数A和B。
输出格式:
在4行中按照格式"A 运算符 B = 结果”顺序输出和、差、积、商。
输入样例:
3 2
输出样例:
3 + 2 = 5
3 - 2 = 1
3 * 2 = 6
3 / 2 = 1
方法1:
a,b =map(int,input().split())print("{} + {} = {}".format(a,b,a+b))print("{} + {} = {}".format(a,b,a-b))print("{} * {} = {}".format(a,b,a*b))print("{} / {} = {}".format(a,b,a//b))
方法2:
A,B =map(int, input().split())
c=str(A)
d=str(B)print(c+"+"+d+"=",A+B);print(c+"-"+d+"=",A-B);print(c+"*"+d+"=",A*B);print(c+"/"+d+"=",A//B);
map()方法:
会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
map(function,iterable,...)
function -- 函数
iterable -- 一个或多个序列
format方法:
Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。
基本语法是通过 {} 和 : 来代替以前的 % 。
format 函数可以接受不限个参数,位置可以不按顺序。
举个栗子:
print("{}{}".format("hello", "world")) #一一对应,输出 hello world
print("{0}{1}".format("hello", "world")) #输出 hello worldprint("{1}{0}".format("hello", "world")) #设置指定位置,输出 world hello
print("{0}{0}{1}".format("hello", "world")) #设置指定位置,输出 hello hello world
format另一个常用用法是分割字符串
print('{:.2f}'.format(11.25555)) #表示保留两位小数,输出11.26
print('{:.2%}'.format(0.1125555)) #表示转化为保留两位小数的百分位数,输出11.26%
编程实例3:计算各对应位乘积之和
读入两个整数a和b,输出绝对值a和绝对值b的各对应位乘积之和,如a=1234,b=608,则输出值为:"1×0+2×6+3×0+4×8"的值,即44。
输入格式:
在一行中输入两个数
输出格式:
在一行中输出对应位乘积之和
输入样例:
在这里给出一组输入。例如:
1234 608
输出样例:
在这里给出相应的输出。例如:
44
a,b =map(int,input().split())
a=abs(a)
b=abs(b)
a=str(a)
b=str(b)
sum=0if len(a)>len(b):for i inrange(0,len(b)):
sum= sum + int(a[i+len(a)-len(b)])*int(b[i])if len(a)
sum= sum + int(b[i+len(b)-len(a)])*int(a[i])if len(a)==len(b):for i inrange(0,len(a)):
sum= sum + int(a[i])*int(b[i])print(sum)
编程实例4:求出歌手的得分
输入一个正整数n (n>4),再输入n个实数,求出歌手的得分(保留2位小数)。设一歌唱评奖晚会上有n(n>4)个评委为歌手打分.评分规则:每个评委依次打分,再去掉2个最高分和2个最低分,计算余下的分数平均值为歌手的得分.
输入格式:
在第一行中输入n 在第二行中输入n个分数
输出格式:
在一行中输出平均分数
输入样例:
在这里给出一组输入。例如:
10
10 10 9 9 9 8 8 8 7 7
输出样例:
在这里给出相应的输出。例如:
aver=8.50
n=input()
num= [int(n) for n ininput().split()]
num.sort()for i in range(0,4):num.pop()
num.reverse()
sum=0for j inrange(len(num)):
sum+=num[j]
aver= sum/len(num)print("{:.2f}".format(aver))
importnumpy as np
n=input()
num= [int(n) for n ininput().split()]
num.sort()for i in range(0,4):num.pop()
num.reverse()
sum=0for j inrange(len(num)):
sum+=num[j]#可以使用numpy自带的均值函数
avg =np.mean(num)print("{:.2f}".format(avg))
reverse()方法:
将表中的元素反向存储
pop()方法:
Python 字典 pop() 方法删除字典给定键 key 及对应的值,返回值为被删除的值。key 值必须给出。 否则,返回 default 值。
pop(key[,default])
key: 要删除的键值
default: 如果没有 key,返回 default 值
注意1:在调用pop函数后,会对原来的列表产生影响,也就是说,pop函数删除的是原列表的值
举个栗子:
num = [1,2,3,4,5]
num.pop()print(num)#输出[1, 2, 3, 4]
注意2:pop函数里加入不同的值结果是不同的,默认列表中的元素首位标号为0,末尾元素为-1,依次类推
举个栗子:
num = [1,2,3,4,5]
num.pop(-1)print(num)#输出[1, 2, 3, 4]
num.pop(0)print(num)#输出[2, 3, 4]
编程实例5:删除字符
输入一个字符串 str,再输入要删除字符 c,大小写不区分,将字符串 str 中出现的所有字符 c 删除。
输入格式:
在第一行中输入一行字符 在第二行输入待删除的字符
输出格式:
在一行中输出删除后的字符串
输入样例:
在这里给出一组输入。例如:
Bee
E
输出样例:
在这里给出相应的输出。例如:
result: B
str =list(input().strip())
x=input().strip()
s= [i for i in str if not(i.lower() == x or i.upper() ==x)]print(s)print('result: %s' %''.join(s).strip())
strip()方法:
Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
str.strip([chars]);
chars -- 移除字符串头尾指定的字符序列。
举个栗子:
str = "123abcrunoob321"
print (str.strip( '12' )) #字符序列为 12,输出3abcrunoob3
str1 = "123456"
print(str1.strip()) #输出123456,无首位空格
lower()方法与upper()方法:
Python lower() 方法转换字符串中所有大写字符为小写。 python upper()方法转换字符串中所有小写字符为大写
举个栗子:
str = "hello!"
print (str.upper()) #输出HELLO!
str1 = "HELLO!"
print(str1.lower()) #输出hello!
编程实例6:jmu-python-统计成绩
输入一批学生成绩,计算平均成绩,并统计不及格学生人数。
输入格式:
每行输入一个数据,输入数据为负数结束输入
输出格式:
平均分=XX,不及格人数=XX,其中XX表示对应数据。如果没有学生数据,输出没有学生
输入样例:
30
50
70
80
90
20
-1
输出样例:
平均分=56.67,不及格人数=3
a =float(input())
list=[]
sum=a
list.append(a)
count= 1
if a >=0:while 1:
a=float(input())if a <0:breaklist.append(a)
sum= a +sum
count= count + 1
print("平均分={:.2f},不及格人数=".format(sum / count), end="")
n=0for i inlist:if i < (sum /count):
n= n + 1
print("%d" %n)else:print("没有学生")
编程实例7:jmu-python-重复元素判定
每一个列表中只要有一个元素出现两次,那么该列表即被判定为包含重复元素。
编写函数判定列表中是否包含重复元素,如果包含返回True,否则返回False。
然后使用该函数对n行字符串进行处理。最后统计包含重复元素的行数与不包含重复元素的行数。
输入格式:
输入n,代表接下来要输入n行字符串。
然后输入n行字符串,字符串之间的元素以空格相分隔。
输出格式:
True=包含重复元素的行数, False=不包含重复元素的行数
,后面有空格。
输入样例:
5
1 2 3 4 5
1 3 2 5 4
1 2 3 6 1
1 2 3 2 1
1 1 1 1 1
输出样例:
True=3, False=2
n =int(input())
f=0
t=0for i inrange(n):
a=input()
a=list(a.split())if len(list(a)) ==len(set(a)):
f+= 1
else:
t+= 1
print('True=%d, False=%d' %(t,f))
set()方法:
set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。
举个栗子:
x = set('aaabbc')print(x) #输出{'a', 'c', 'b'}
y = set('abcddee')print(y) #输出{'d', 'c', 'b', 'a', 'e'}
print(set(x&y)) #输出{'a', 'b', 'c'}
print(set(x|y)) #输出{'d', 'a', 'c', 'b', 'e'}
print(set(y-x)) #输出{'d', 'e'}
最后
以上就是呆萌月亮为你收集整理的python初学者可以做的金融小程序-Python入门 —— 用pycharm写一个简单的小程序3...的全部内容,希望文章能够帮你解决python初学者可以做的金融小程序-Python入门 —— 用pycharm写一个简单的小程序3...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复