ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

华为od题 第81题 --python

2022-04-25 23:01:48  阅读:543  来源: 互联网

标签:读数 -- od list python num str 计费 new


'''
程序员小明打了一辆出租车去上班。出于职业敏感,他注意到这辆出租车的计费表有点问题,总是偏大。
出租车司机解释说他不喜欢数字4,所以改装了计费表,任何数字位置遇到数字4就直接跳过,其余功能都正常。
比如:
1. 23再多一块钱就变为25;
2. 39再多一块钱变为50;
3. 399再多一块钱变为500;
小明识破了司机的伎俩,准备利用自己的学识打败司机的阴谋。
给出计费表的表面读数,返回实际产生的费用。

输入描述:
只有一行,数字N,表示里程表的读数。
(1<=N<=888888888)。
输出描述:
一个数字,表示实际产生的费用。以回车结束。
示例1:
输入
5
输出
4
说明
5表示计费表的表面读数。
表示实际产生的费用其实只有4块钱。

示例2:
输入
17
输出
15
说明
17表示计费表的表面读数。
15表示实际产生的费用其实只有15块钱。
示例3:
输入
100
输出
81
说明:100表示计费表的表面读数,81表示实际产生的费用其实只有81块钱
'''
n = int(input())
i =1
cs =0
num_list = []
while i <=100:
if '4' not in str(i):
num_list.append(str(i))
else:
# 把数值里面的4替换成5,再给i赋值为新替换的数
old_str = str(i)
new_str = old_str.replace('4','5')
num_list.append(new_str)
i = eval(new_str)

i =i+1
new_num_list = [int(x) for x in num_list]
#求差数和
for i in range(len(new_num_list)-1):
if new_num_list[i+1] - new_num_list[i] != 1:
cs += new_num_list[i+1] - new_num_list[i]-1

print(n-cs)
##### 这个题目不难,找出规律一顿操作就写出来了

标签:读数,--,od,list,python,num,str,计费,new
来源: https://www.cnblogs.com/xycbq/p/16192469.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有