Python入门 —— 用pycharm写一个简单的小程序3

环境: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+"-"+dd
print(date)

split()方法:

str.split(str="", num=string.count(str)).

  • str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
  • 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  world
print("{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 = 0
if len(a)>len(b):
    for i in range(0,len(b)):
        sum = sum + int(a[i+len(a)-len(b)])*int(b[i])
if len(a)<len(b):
    for i in range(0,len(a)):
        sum = sum + int(b[i+len(b)-len(a)])*int(a[i])
if len(a)==len(b):
    for i in range(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 in input().split()]
num.sort()
for i in range(0,4):
    num.pop()
    num.reverse()
sum = 0
for j in range(len(num)):
    sum += num[j]
aver = sum/len(num)
print("{:.2f}".format(aver))
import numpy as np
n = input()
num = [int(n) for n in input().split()]
num.sort()
for i in range(0,4):
    num.pop()
    num.reverse()
sum = 0
for j in range(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:
            break
        list.append(a)
        sum = a + sum
        count = count + 1
    print("平均分={:.2f},不及格人数=".format(sum / count), end="")
    n = 0
    for i in list:
        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 = 0
for i in range(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‘}
 

原文地址:https://www.cnblogs.com/CoffeeSoul/p/12084135.html

时间: 2024-11-11 02:38:37

Python入门 —— 用pycharm写一个简单的小程序3的相关文章

Python3的tkinter写一个简单的小程序

一.这个学期开始学习python,但是看了python2和python3,最后还是选择了python3 本着熟悉python的原因,并且也想做一些小程序来增加自己对python的熟练度.所以写了一个简单的程序,这个小程序实现了basa64.base32的加解码.并且添加了一个md5生成的功能.ps:觉得python开发也挺好玩的... 二.运行程序截图: 上面的就是程序的整体界面了.. 三.程序的设计: 源代码就在下面贴图了,并且需要的文档可以--------------搜索吧..... imp

python初尝试,写一个简单的爬虫程序

1.首先因为mac自带python,版本为python2.7.10 2.安装pip,因为已经有了,所以不能用brew install.这里用sudo easy_install pip 3.安装beatifulsoup4,sudo -H pip install beautifulsoup4. BeautifulSoup是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式. 4.安装html5lib,sudo pip insta

DuiVision开发教程(2)-如何写一个简单的界面程序

基于DuiVision界面库开发的界面程序主要包括如下几部分内容: 1.资源定义,包括图片资源.各个窗口界面的xml定义文件 2.事件处理类代码,用于处理界面响应消息 3.其他业务逻辑代码 下面举例说明如何写一个简单的界面程序. 第一步:使用VC向导创建一个有两个tab页面的DuiVision工程 向导生成的解决方案文件如下: 默认有两个工程,分别是DuiVision库和应用程序工程.自动生成的代码目录中bin目录下的内容那个如下,bkimg目录存放窗口背景图片,skins目录存放图片资源,xm

输出多行字符的一个简单JAVA小程序

1 public class JAVA 2 { 3 public static void main(String[] args) 4 { 5 System.out.println("----------------------"); 6 System.out.println("|| 我要学会 ||"); 7 System.out.println("|| JAVA语言 ||"); 8 System.out.println("-------

初遇C#:一个简单的小程序(圆形周长,面积计算器)

作为一个面向对象的语言,与用户的交互很关键! 在此,我们可以先分析一下我们这个小程序要与用户交互的内容:1.命名很重要,让用户看见这个程序就知道这个程序的作用. 2.当用户打开这个程序时,提示用户输入的内容. 下面开始编码: Console.Write("请输入圆形的半径:"); double r=double.Parse(Console.ReadLine());//接收用户的输入并将用户的输入转换成双精度型并赋值给r double area,circle;//定义两个变量area和c

C++写一个排列组合小程序

今天突然想到一个问题,有时候,针对同一个事件有多种反映,特别是游戏AI当中,这种情况下需要采取最适合的方案,哪种方案最适合,可以将每种方案的结果或影响都计算一遍,从而选择最合适的.最基本就是一个排列组合方法,将各种方案都组合出来.于是写了一个基本的N个数排列组合小程序! 开发工具:Visual Studio 2012 CTestPermutation::~CTestPermutation() { cout<<">>>>>>>>>&

JS入门学习,写一个简单的图片库

<!-- 新手刚开始学JS,每天坚持写点东西 坚持下去,希望能有所进步 .  加油~~ --> <!DOCTYPE html>                                            <html><head> <title>创建一个图片库</title> <meta charset="gb2312" /> <link rel="stylesheet"

python入门利器-codecademy-分享一个简单练习

对于数据分析的同学来讲,要做的深入,R和Python是要会一个的,那零基础怎么学呢?https://www.codecademy.com/ 是个不错的选择,它会以介绍.让你练习.练习通过进入下一步(或者自己挑选某个章节)的方式进行练习,不会给你答案,要么正确通过,要么就放在那里,直到你会,可以清楚地看到自己哪个部份完成了多少,总体进度等.数学专业无理由惧怕编程的同学可以学R,你一看到R代码就像是看到了自己学过的数学公式一样,会更容易接受和理解.Python语言较为严格一些. 免费版本对于Pyth

用c++写一个简单的计算器程序

// 050305.cpp : 定义控制台应用程序的入口点.// // 050304.cpp : 定义控制台应用程序的入口点.////四则运算#include "stdafx.h"#include<iostream>#include<stdio.h>using namespace std;void add(){ printf("输入要计算的加数(例如a b)\n"); int adda=0, addb=0,addc=0; cin >&g