Python 程序设计搞心态题目集锦(PTA平台)_搞人心态的代码-程序员宅基地

技术标签: python  Python 从入门到放弃到坚持到努力  

浙大版《Python 程序设计》搞心态题目集锦(NO.1)

(1).为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。

输入格式:
输入在一行中给出某用户的月用电量(单位:千瓦时)。

输出格式:
在一行中输出该用户应支付的电费(元),结果保留两位小数,格式如:“cost = 应付电费值”;若用电量小于0,则输出"Invalid Value!"。
输入样例1:
10
输出样例1:
cost = 5.30
输入样例2:
100
输出样例2:
cost = 55.50

a=int(input())
if(a<0):
    print("Invalid Value!")
elif(a<=50):
    cost=a*0.53
    print("cost = {:.2f}".format(cost))
else:
    cost=50*0.53+(a-50)*0.58
    print("cost = {:.2f}".format(cost))

(2).一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:

首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:

Z:0 1 2 3 4 5 6 7 8 9 10
M:1 0 X 9 8 7 6 5 4 3 2
现在给定一些身份证号码,请你验证校验码的有效性,并输出有问题的号码。

输入格式:
输入第一行给出正整数N(≤100)是输入的身份证号码的个数。随后N行,每行给出1个18位身份证号码。

输出格式:
按照输入的顺序每行输出1个有问题的身份证号码。这里并不检验前17位是否合理,只检查前17位是否全为数字且最后1位校验码计算准确。如果所有号码都正常,则输出All passed。

输入样例1:
4
320124198808240056
12010X198901011234
110108196711301866
37070419881216001X
输出样例1:
12010X198901011234
110108196711301866
37070419881216001X
输入样例2:
2
320124198808240056
110108196711301862
输出样例2:
All passed

def judge(mlist, jlist, flist):
    sum = 0
    x = 0
    lnum = mlist[-1]
    mlist = mlist[:17]

    for i in mlist:
        if i >= '0' and i <= '9':
            sum += int(i) * flist[x]
            x += 1
        else:
            return False
    re = sum % 11
    if jlist[re] == lnum:
        return True
    else:
        return False

num = int(input())
cnt = 0
jlist = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2']
flist = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
for i in range(num):
    mlist = input()
    if judge(mlist, jlist, flist) == False:
        print(mlist)
    else:
        cnt = cnt + 1
if cnt == num:
    print("All passed")

(3).数学领域著名的“哥德巴赫猜想”的大致意思是:任何一个大于2的偶数总能表示为两个素数之和。比如:24=5+19,其中5和19都是素数。本实验的任务是设计一个程序,验证20亿以内的偶数都可以分解成两个素数之和。

输入格式:
输入在一行中给出一个(2, 2 000 000 000]范围内的偶数N。

输出格式:
在一行中按照格式“N = p + q”输出N的素数分解,其中p ≤ q均为素数。又因为这样的分解不唯一(例如24还可以分解为7+17),要求必须输出所有解中p最小的解。

输入样例:
24
输出样例:
24 = 5 + 19

import math
def isPrime(n):
  if n <= 1:
    return False
  for i in range(2, int(math.sqrt(n)) + 1):
    if n % i == 0:
        return False
  return True
x=int(input())
for y in range(2,x//2+1):
    z = x - y
    if (isPrime(y) == 1 and isPrime(z) == 1):
        print('{:d} = {:d} + {:d}'.format(x, y, z))

未完待续

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xianshengsan/article/details/107184372

智能推荐

系统类配置(一)【安装windows10与ubuntu16.04双系统-附镜像资源】_your pc/device needs to be repaired 不能双系统-程序员宅基地

文章浏览阅读5.1k次,点赞3次,收藏17次。1.准备资源:准备一个U盘,一个Windows镜像,一个ubuntu16.04的镜像,还有一个制作启动盘的软件。资源如下:链接:https://pan.baidu.com/s/12qHZysQccQkFA9dDzOrWBQ 提取码:i79k2.做windows的启动盘:我们需要先将自己的u盘格式化清空。之后双击Universal-USB-Installer-1.9.8.2软..._your pc/device needs to be repaired 不能双系统

VS Code 自定义语法高亮 —— 入门_vscode 自定义语法高亮-程序员宅基地

文章浏览阅读7.6k次,点赞2次,收藏3次。VSCode扩展开发必要工具脚手架工具Yeoman 和 VSCode Extension Generator安装npm install -g yo generator-code使用yo code根据提示选择,一步步选择打包工具vsce安装npm install -g vcse使用插件的根目录(package.json所在目录)运行vsce package出现的问题&解决方案[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q_vscode 自定义语法高亮

IAP的无线版(stm32无线下载程序)(基于有线升级)_无线下载iap-程序员宅基地

文章浏览阅读1.2k次,点赞3次,收藏8次。如果你没有时间,想吃 “快餐” ,请直接移步至文末。在上一篇博文中,我介绍了我有线IAP用户程序升级的一些心得,有线升级并不是我的目的,无线才是,所以就有了这篇文章。这篇文章介绍的也是在实现单片机有线升级的基础上,实现无线升级的一些心得和建议。关于有线升级,大家可以在网上搜索或直接看我的上一篇博文我对IAP的理解常用的单片机程序下载方式有三种,即ISP(In System Programing,在系统编程)ICP(In Circuit Programing,在电路编程)IAP(In appl_无线下载iap

未来不是计算机发展的方向,未来人类的方向,或许不是人工智能,而是智能人类...-程序员宅基地

文章浏览阅读148次。原标题:未来人类的方向,或许不是人工智能,而是智能人类未来人类的方向,或许不是人工智能,而是智能人类进入互联网时代以来,我们的科技发展速度是越来越快。从工业革命到后来的信息时代、原子时代和现在的智能时代,人类的科技发展周期越来越短,我们似乎进入到了一个技术大爆炸的时代。对此许多人很好奇,我们人类未来的方向是什么?之前我们一直都认为是人工智能,但是科学家们也提出了另一个方向,那就是智能人类。 其实关..._兰森环游世界

攻防世界 Web_php_unserialize 反序列化_php_unserialize_pro小明已经学会反序列化啦!但是这道题有点难呢?怎么办呢?-程序员宅基地

文章浏览阅读335次,点赞2次,收藏2次。昨天帮忙打了场比赛,web题目里也是有反序列化的题,也是利用魔术方法的调用来构造pop链,获取flag但那道题好绕我不会写,然后还有关于json的题,就发现自己好多都没学,真的打一场比赛容易把自己人都打傻掉。这道题也是看了好久才明白的题目。废话不多直接上代码 <?php class Demo { private $file = 'index.php'; public function __construct($file) { $this->file =_php_unserialize_pro小明已经学会反序列化啦!但是这道题有点难呢?怎么办呢?

Matlab GUI,坐标轴控件,画sin函数_maltab gui 滑动sin函数-程序员宅基地

文章浏览阅读9.6k次,点赞2次,收藏21次。guide (代码:1\gui_biancheng.m)% 打开窗体钱先执行该函数function gui_biancheng_OpeningFcn(hObject, eventdata, handles, varargin)handles.output = hObject;handles.x=-pi:0.01:pi; %全局变量guidata(hObject, handle_maltab gui 滑动sin函数

随便推点

计算机网络实践报告三_210.52.217.139-程序员宅基地

文章浏览阅读2.4k次,点赞4次,收藏28次。华东师范大学软件工程学院实验报告三一、实验目的学会通过Wireshark分析ip协议了解IP数据报的组成了解IP各部分的含义二、实验内容与实验步骤实验内容:获取IP包、理解IP报文的结构、完成Exp3.ppt上面的题目、理解Internet Path、计算IP头部校验和。详细实验步骤见下。三、实验环境Wireshark v3.0.6Windows 10wget四、实..._210.52.217.139

java 线程 更新控件_MFC子线程中更新控件内容的两种办法-程序员宅基地

文章浏览阅读134次。一、概述每个系统中都有线程(至少都有一个主线程),而线程最重要的作用就是并行处理,提高软件的并发率。针对界面来说,还能提高界面的响应能力。一般的,为了应用的稳定性,在数据处理等耗时操作会单独在一个线程中运行,而所有与主UI线程有关的控件数据刷新应该到主UI线程中处理。也就是数据处理线程发消息,让界面UI去更新控件。在MFC中线程分为界面线程和工作者线程,界面实际就是一个线程画出来的东西,这个线程维..._刷新控件是放在主线程里吗

scheduling agreement 计划协议详解-程序员宅基地

文章浏览阅读3.8k次,点赞4次,收藏23次。 详细图片请见附件Overview计划协议(scheduling agreement)是与供货商签订的一项长期合作协议。会预先定义有效时间和采购数量。使用计划协议的好处有:1.可以省去很多PO和合同的release order(直接对SA进行GR操作),SA的delivery schedule line本身就是SA的一部分,因此可以减少文档的数量。2.MRP运行时,可以自动产生delive..._forecast delivery schedule in schedule agreement

Python问题:RuntimeWarning: invalid value encountered in reduce return ufunc.reduce(obj, axis, dtype, o-程序员宅基地

文章浏览阅读7.6k次。今天在用气象数据的过程中python报错D:\python366\lib\site-packages\numpy\core\fromnumeric.py:83: RuntimeWarning: invalid value encountered in reduce return ufunc.reduce(obj, axis, dtype, out, **passkwargs)尝试..._invalid value encountered in reduce return ufunc.reduce(obj, axis, dtype, ou

隧道凿岩机器人传感器_凿岩机器人钻臂GPC-PID双模控制-程序员宅基地

文章浏览阅读115次。凿岩机器人钻臂GPC-PID双模控制黄开启;王雷坤【期刊名称】《《传感器与微系统》》【年(卷),期】2019(000)011【摘要】为避免广义预测控制(GPC)起始阶段存在因所获信息少而对双三角钻臂造成的控制不稳定,以及计算中因矩阵不可逆而造成的数值病态,提出以GPC和比例—积分—微分(PID)控制为基础的双模式自适应控制策略.根据广义预测PID算法得出在线更新的自校正参数,以此参数是否在规定范围..._凿岩钻机配套传感器

matlab3阶幺矩阵,Matlab操作矩阵的相关方法-程序员宅基地

文章浏览阅读3.7k次,点赞3次,收藏12次。Matlab操作矩阵的相关方法下面这篇文章主要是对吴恩达老师机器学习中matlab操作的一个整理和归纳一、基本操作1.生成矩阵(ones、zeros)A = [1 2;3 4;5 6] #生成3行4列的矩阵B = [1 2 3] #B就是一个行向量C = [1;2;3] #定义c为一个列向量..._三阶单位矩阵在matlab

推荐文章

热门文章

相关标签