码迷,mamicode.com
首页 > 其他好文 > 详细

题目解答

时间:2019-10-07 13:00:03      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:输出   不同   华氏度   循环   获得   white   int   else   字符   

一、货币转换 B

 ???????????????????????????????????????????????????????????????????????????????????????????????题目描述:人民币和美元是世界上通用的两种货币之一,写一个程序进行货币间币值转换,其中:????????????????????????????????????????????????????????????????????????????????????????????????人民币和美元间汇率固定为:1美元 = 6.78人民币。????????????????????????????????????????????????????????????????????????????????????????????????

程序可以接受人民币或美元输入,转换为美元或人民币输出。人民币采用¥符号或RMB表示,美元采用$或USD表示,符号和数值之间没有空格。????????????????????????????????????????????????????????????????????????????????????????????????

注意:???????????????????????????????????????????????????????????????????????????????????????????????

  (1) 人民币和美元间符号在转换中要对等,¥和$相互对应,RMB和USD相互对应。????????????????????????????????????????????????????????????????????????????????????????????????

  (2) 这是一个OJ题目,获得输入请使用input("") ????????????????????????????????????????????????????????????????????????????????????????????????

 ?????????????????????????????????????????????????????????????????????????????????????????????代码:

money = input("")
if money[0] == $:
    i = float(money[1:])
    i *= 6.78
    print (¥%.2f % i)
elif money[0] == :
    i = float(money[1:])
    i /= 6.78
    print ($%.2f % i)
elif money[0:3] == USD:
    i = float(money[3:])
    i *= 6.78
    print (RMB%.2f % i) 
elif money[0:3] == RMB:
    i = float(money[3:])
    i /= 6.78
    print (USD%.2f % i)
else:
    print (Input Error!)

 结果:

技术图片

技术图片

技术图片

技术图片

二、3位水仙花数计算

 ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????题目描述:“3位水仙花数”是指一个三位整数,其各位数字的3次方和等于该数本身。

例如:ABC是一个“3位水仙花数”,则:A的3次方+B的3次方+C的3次方 = ABC。????????????????????????????????????????????????????????????????????????????????????????????????

请按照从小到大的顺序输出所有的3位水仙花数,请用一个“逗号+空格”分隔输出结果。????????????????????????????????????????????????????????????????????????????????????????????????

注意:这是一个OJ题目,输出格式要严格一致,最后一位水仙花数后没有逗号。

代码:

shuixianhua=[]
for i in range(1,10):
  for j in range(10):
    for k in range(10):
      if i*i*i + j*j*j + k*k*k == 100*i + 10*j + k:
        shuixianhua.append(100*i + 10*j + k)
for i in shuixianhua:
  if i == shuixianhua[-1]:
    print(i)
  else:
    print(i, end = ,)

结果:

技术图片

三、温度转换 II

 ???????????????????????????????????????????????????????????????????????????????????????????????描述:温度的刻画有两个不同体系:摄氏度(Celsius)和华氏度(Fabrenheit)。????????????????????????????????????????????????????????????????????????????????????????????????请编写程序将用户输入华氏度转换为摄氏度,或将输入的摄氏度转换为华氏度。????????????????????????????????????????????????????????????????????????????????????????????????

转换算法如下:(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) 不考虑异常输入的问题,输出保留小数点后两位;????????????????????????????????????????????????????????????????????????????????????????????????

(4) 使用input()获得测试用例输入时,不要增加提示字符串。

代码:

TempStr = input()
if TempStr[0] in [F]:
    C = (eval(TempStr[1:]) - 32)/1.8
    print("C{:.2f}".format(C))
elif TempStr[0] in [C]:
    F = 1.8*eval(TempStr[1:]) + 32
    print("F{:.2f}".format(F))
else:
    print()

结果:

技术图片

四、快乐的数字

描述:编写一个算法来确定一个数字是否“快乐”。 快乐的数字按照如下方式确定:从一个正整数开始,用其每位数的平方之和取代该数,并重复这个过程,直到最后数字要么收敛等于1且一直等于1,要么将无休止地循环下去且最终不会收敛等于1。能够最终收敛等于1的数就是快乐的数字。????????????????????????????????????????????????????????????????????????????????????????????????

例如: 19 就是一个快乐的数字,计算过程如下:????????????????????????????????????????????????????????????????????????????????????????????????

  • 12 + 92 = 82
  • 82 + 22 = 68
  • 62 + 82 = 100
  • 12 + 02 + 02 = 1

当输入时快乐的数字时,输出True,否则输出False。 ????????????????????????????????????????????????????????????????????????????????????????????????

 

代码:

n = input()
s = str(n)
t = 0
for i in range(1,100):
    d = [int(x) for x in s]
    sum = 0
    for j in d:
        sum += j**2
    s = str(sum)
    if sum == 1:
        t = 1
        break
if t == 1:
    print("True")
else:
    print("False")

结果:

技术图片 

此次的题目分享就到这里哦!若有问题请评论哟!

题目解答

标签:输出   不同   华氏度   循环   获得   white   int   else   字符   

原文地址:https://www.cnblogs.com/CJR-QYF/p/11610462.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!