PTA~基础编程部分题集

7-11 分段计算居民水费~10

为鼓励居民节约用水,自来水公司采取按用水量阶梯式计价的办法,居民应交水费y(元)与月用水量x(吨)相关:当x不超过15吨时,y=4x/3;超过后,y=2.5x−17.5。请编写程序实现水费的计算。

输入格式:
输入在一行中给出非负实数x。

输出格式:
在一行输出应交的水费,精确到小数点后2位。

输入样例1:
12
输出样例1:
16.00
输入样例2:
16
输出样例2:
22.50
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB

x = int(input())
y = 0               # 存储最后的水费
if x < 15:          # 当用水不超过15吨
    y = 4*x/3
else:
    y = 2.5*x - 17.5
print("%.2f" % y)   # 结果保留两位小数

7-12 两个数的简单计算器~10

本题要求编写一个简单计算器程序,可根据输入的运算符,对2个整数进行加、减、乘、除或求余运算。题目保证输入和输出均不超过整型范围。

输入格式:
输入在一行中依次输入操作数1、运算符、操作数2,其间以1个空格分隔。操作数的数据类型为整型,且保证除法和求余的分母非零。

输出格式:
当运算符为+、-、*、/、%时,在一行输出相应的运算结果。若输入是非法符号(即除了加、减、乘、除和求余五种运算符以外的其他符号)则输出ERROR。

输入样例1:
-7 / 2
输出样例1:
-3
输入样例2:
3 & 6
输出样例2:
ERROR
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB

a, b, c = input().split()       # b为运算符号
a, c = int(a), int(c)
# 运算符只能为这些
if b == '+' or b == "-" or b == "*" or b == "/" or b == "%":   
    if b == '+':
        print(a+c)
    elif b == '-':
        print(a-c)
    elif b == '*':
        print(a*c)
    elif b == '%' and c == 0:
        print("ERROR")
    elif b == '%':
        print(a % c)
    elif b == '/' and c == 0:
        print("ERROR")
    elif b == '/':
        print(int(a/c))
else:                           # 其它运算符则为错误
    print("ERROR")

7-10 计算工资~15

某公司员工的工资计算方法如下:一周内工作时间不超过40小时,按正常工作时间计酬;超出40小时的工作时间部分,按正常工作时间报酬的1.5倍计酬。员工按进公司时间分为新职工和老职工,进公司不少于5年的员工为老职工,5年以下的为新职工。新职工的正常工资为30元/小时,老职工的正常工资为50元/小时。请按该计酬方式计算员工的工资。

输入格式:
输入在一行中给出2个正整数,分别为某员工入职年数和周工作时间,其间以空格分隔。

输出格式:
在一行输出该员工的周薪,精确到小数点后2位。

输入样例1:
5 40
输出样例1:
2000.00
输入样例2:
3 50
输出样例2:
1650.00
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB

a, b = map(int, input().split())
if b <= 40:         # 一周内工作时间不超过40小时
    if a >= 5:      # 符合上面条件,且是老职工
        print("%.2f" % (b*50))
    else:           # 符合上面条件,且是新职工
        print("%.2f" % (b*30))
else:               # 一周内工作时间超过40小时的
    if a >= 5:
        print("%.2f" % (40*50+((b-40)*50)*1.5))
    else:
        print("%.2f" % (40*30+((b-40)*30)*1.5))


—————————————————————————————————

实现一个猜数字游戏

首先使用 random 模块中的随机函数生成一个位于 [1, 100] 范围内的数字,然后让机器人玩家来猜,比较机器人玩家猜的数字和生成的随机数,
如果随机数大于玩家猜的数字告诉玩家猜的数字过小,如果随机数小于玩家猜的数字告诉玩家猜的数字过大,直到玩家猜到正确的数字。
提示:生成 1~100 的随机数可以使用 random.randint(1, 100)

import random
import math

# 随机生成的数
random_num = random.randint(1, 100)

# 机器人第一次猜测的数
robot_num = random.randint(1, 100)

# 记录猜测区间的最大值
high = 100

# 记录猜测区间的最小值
low = 1

while 1:
    if robot_num > random_num:
        high = robot_num-1
        print(f"机器人猜测的值为{robot_num}")
        print("机器人猜测的值大于设定的值!")
        robot_num = (low+high)//2
    elif robot_num < random_num:
        low = robot_num+1
        print(f"机器人猜测的值为{robot_num}")
        print("机器人猜测的值小于设定的值!")
        robot_num = (low+high)//2
    else:
        print(f"机器人猜测的值为{robot_num}")
        print("机器人猜到了设定的值,不愧是机器人哇!")
        break

今日一言:

  • 输的起与赢得精彩同样重要。

持续更新中…


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值