python基础: 水仙花数,打车费计算

大家好我是墨码,一只正在学python憨批请多指教!
评论区欢迎留言!

1.水仙花数

判断一个三位数是否是水仙花数。

首先要有解题思路
啥是水仙花数?其实就是(个位立方+十位立方+百位立方 = 原本的三位数) 这就是水仙花数,需要加减肯定要确定输入的数据类型
由于题目是判断,所以不用打印出来,不需要使用 for 或 while循环 需要用到if 语句,上代码:

# 判断是否水仙花
# 输入三位数
sxh = int(input('请输入三位数:'))
# 判断输入的是否是三位数
if sxh < 100 or sxh >999:
    print('输入内容错误')
    exit('输三位数字!!!')
    # 输入正确的内容
else:
    #转成字符串提取内容
    sxh_str = str(sxh)
    a = int (sxh_str[0])
    b = int (sxh_str[1])
    c = int (sxh_str[2])
# 判断是否为水仙花
if a**3 + b**3 + c**3 != sxh:
    print('不是水仙花数')
else:
    print('是水仙花数')

这没啥难点,主要是我不想用数学方法从三位数中提取三个数,所以就转成字符串了。

2.打车费用计算

题目: 打车费用计算,输入公里数得到费用

  1.  小于2km 起步 8元
    
  2. 2 - 10 km超过起步价每km2.8元
    
  3. > 10 km,每km 3.5元
    

思路:明显需要用到嵌套的判断,同时需要加减肯定要确定输入的数据类型
然后通过条件判断,要注意只有超出公里数才更改费用,有一定逻辑性。
代码如下:

# 打车费用计算,输入公里数得到费用
# 1.小于2km 起步 8元
# 2.2 - 10 公里超过起步价每公里2.8
# 3. > 10 公里,每公里 3.5
# 输入公里数
gl = float(input('请输入公里:'))
# 判断输入公里数是否正确(最后)
# 判断以上条件
# 小于2公里的
if gl<2 and gl >=0:
    gl = 8
    print("%.2f 元" %gl)
elif gl >=2 and gl <= 10:
    gl = gl - 2
    gl = gl * 2.8 +8
    print("%.2f 元" %gl)
elif gl > 10:
    gl = (2.8*8+8) + (gl - 10) * 3.5
    print("%.2f 元" % gl)
else:
    print('请输入正确的公里数')

你可能感兴趣的:(知识点,练习,python,编程语言)