题目解答
Posted cjr-qyf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了题目解答相关的知识,希望对你有一定的参考价值。
一、货币转换 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")
结果:
此次的题目分享就到这里哦!若有问题请评论哟!
以上是关于题目解答的主要内容,如果未能解决你的问题,请参考以下文章