本人初期学习py时实现的小功能(1-10),自用,勿作评论

#输入一个百分制的成绩,要求输出的成绩等级为ABCDE,其中90-100分为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。
#要求:1.用if语句实现。2.输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。

a = int(input("请输入成绩:"))
if 90<=a<=100:
    print("等级为A")
elif 80<=a<=89:
    print("等级为B")
elif 70<=a<=79:
    print("等级为C")
elif 60<=a<=69:
    print("等级为D")
elif 0<=a<=59:
    print("等级为E")
else:
    print("输入有误")
# 篮球比赛是高分的比赛,领先优势可能很快被反超。作为观众,希望能在球赛即将结束时,就提早知道领先是否不可超越。
# 体育作家Bill James发明了一种算法,用于判断领先是否“安全”。
# 算法描述:
# 获取领先的分数 ,减去3分;
# 如果目前是领先队控球,则加0.5;否则减0.5(数字小于0则变成0);
# 计算平方后的结果;
# 如果得到的结果比当前比赛剩余时间的秒数大,则领先是“安全”的。
# 请编写程序实现上述算法的功能,并给出运行结果。

t = int(input("请输入剩余时间:"))
s = int(input("请输入领先分数:"))
x = input("目前是领先队控球吗?请输入yes或no")
if x == "yes":
    if (s - 3 + 0.5)**2>t:
        print("安全")
    else:
        print("不安全")
if x == "no":
    if (s - 3 - 0.5)**2>t:
        print("安全")
    else:
        print("不安全")
# 小明单位发了100元的购物卡,小明到超市买三类洗化用品:洗发水(15元)、香皂(2元)、牙刷(5元)。要把100元正好花掉,可有哪些购买组合?

money=100
n=money//15
for i in range(n,-1,-1):
    m=(money-i*15)//5
    for j in range(m,-1,-1):
        k=(money-i*15-j*5)//2
        if (money-i*15-j*5)%2==0:
            print(f"可选择的购买组合:\t\t购买洗发水 {i} 瓶,香皂 {j} 块,牙刷 {k}个。")
# 设计一个猜数游戏。首先由计算机产生一个[1,100]之间的随机整数,然后由用户猜测所产生的随机数。
# 根据用户猜测的情况给出不同提示,如猜测的数大于产生的数,则显示“High”,小于则显示“Low”,等于则显示“You won !”,游戏结束。
# 用户最多可以猜7次,如果7次均未猜中,则显示“You lost !”,并给出正确答案,游戏结束。
# 游戏结束后,询问用户是否继续游戏,选择“Y”则开始一轮新的猜数游戏;选择“N”则退出游戏。

import random
n = random.randint(1,100)
def a():
    for i in range(7):
        x = int(input("请输入数字:"))
        if x==n :
            print("You won!")
            break
        elif x>n:
            print("High")
        else:
            print("Low")
    if x != n:
        print("You lose!", f"答案是{n}")
    c = input("想再来一次吗?是的话请输入Y,否则请输入N退出游戏")
    if c=="Y":
        a()
    else:
        print("游戏结束")
a()
# 编写函数,该函数可以输入任意多个数,函数返回输出所有输入参数的最大值、最小值和平均值。
i= []
def a():
    try:
        b = int(input("请开始输入整数,输入end之后将开始计算"))
        i.append(b)
        a()
    except:
        return print(max(i),min(i),sum(i)/len(i))
a()
# 一个人赶着鸭子去每个村庄卖,每经过一个村子卖去所赶鸭子的一半又一只。这样他经过了七个村子后还剩两只鸭子,问他出发时共赶多少只鸭子?

i = 2
for a in range(7):
    i=(i+1)*2
print(i)
# 建立一个包含10个字符的字符串A,然后对该字符串进行如下操作:
# (1)计算输出字符串的长度;
# (2)从第1个字符开始,每间隔2个字符取1个字符,组成子字符串B;
# (3)将字符串A倒过来重新排列产生新的字符串C;
# (4)将字符串A的前4个字符与字符串C的后5个字符进行组合,产生字符串D。

A = "ipandafans"
print("字符串的长度为:",len(A))
print(f"B字符串为:{A[::3]}")
print(f"C字符串为:{A[::-1]}")
print(f"D字符串为:{A[:4:]+A[5::]}")

# 数字加密游戏:编程程序,从键盘任意输入1个4位数,将该数字中的每位数与7相乘,然后取乘积结果的个位数对该数字进行替换,最后得到一个新的4位数。

a = input("请输入一个四位数:")
b1=str(int(a[0])*7)
b2=str(int(a[1])*7)
b3=str(int(a[2])*7)
b4=str(int(a[3])*7)
print("加密后的四位数是:",b1[-1],b2[-1],b3[-1],b4[-1])
# 企业发放的奖金根据利润提成。
# 利润低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;
# 20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;
# 60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

m = int(input("请输入公司当月利润:"))
if m<= 10 :
    print(f"奖金总数为{0.1*m}万元")
elif 10<=m<=20:
    print(f"奖金总数为{1+0.075*(m-10)}万元")
elif 20<=m<=40:
    print(f"奖金总数为{3.5+0.05*(m-20)}")
elif 40<=m<=60:
    print(f"奖金总数为{4.5+0.03*(m-40)}")
elif 60<=m<=100:
    print(f"奖金总数为{5.1+0.015*(m-60)}")
elif m>=100:
    print(f"奖金总数为{5.7+0.01*(m-100)}")
# 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

import math
for a in range(-100,1000000):
    b=math.sqrt(a + 268)
    c=math.sqrt(a + 100)
    if b%1==0 and c%1==0:
        print(a)

#标准解法:
#
# 假设该数为 x。
# 1、则:x + 100 = n2, x + 100 + 168 = m2
# 2、计算等式:m2 - n2 = (m + n)(m - n) = 168
# 3、设置: m + n = i,m - n = j,i * j =168,i 和 j 至少一个是偶数
# 4、可得: m = (i + j) / 2, n = (i - j) / 2,i 和 j 要么都是偶数,要么都是奇数。
# 5、从 3 和 4 推导可知道,i 与 j 均是大于等于 2 的偶数。
# 6、由于 i * j = 168, j>=2,则 1 < i < 168 / 2 + 1。
# 7、接下来将 i 的所有数字循环计算即可。
for i in range(1,85):
    if 168 % i == 0:
        j = 168 / i
        if  i > j and (i + j) % 2 == 0 and (i - j) % 2 == 0 :
            m = (i + j) / 2
            n = (i - j) / 2
            x = n * n - 100
            print(x)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值