PTA Python 7-2 百分制成绩转换五分制(循环)

编写一个学生成绩转换程序,用户输入百分制的学生成绩:

90~100时,输出为“A”,

80~89时,输出为“B”,

70~79时,输出为“C”,

60~69时,输出为“D”,

0~59时,输出为“E”。

输入数据超过100时,输出“data error!”。

用户可反复输入成绩进行转换,输入负数时,输出“end”并结束程序。

输入格式:

每次输入一个整数,代表百分制成绩;反复输入,输入负数结束程序

输出格式:

根据每一次的输入值分别输出A、B、C、D、E中的一个字母或"data error!"或"end"。输出end时程序结束。

输入样例:

88
156
99
-4

输出样例:

B
data error!
A
end

输入样例:

34
-3

输出样例:

E
end

输入样例:

-5

输出样例:

end

答案: 

while 1:
    score = eval(input())
    if 0 <= score < 60:
        print("E")
    elif 0 < score < 70:
        print("D")
    elif 0 < score < 80:
        print("C")
    
由于没有关于R7 - 7基因相似性问题的具体描述,以下给出一个通用的基因相似性计算示例,在PTA平台上解决这类问题一般步骤如下: ### 问题分析 基因相似性计算通常可以使用序列比对的方法,比如计算两个基因序列的编辑距离(Levenshtein距离),编辑距离越小说明两个序列越相似。 ### 代码实现 ```python def levenshtein_distance(s1, s2): if len(s1) < len(s2): return levenshtein_distance(s2, s1) if len(s2) == 0: return len(s1) previous_row = range(len(s2) + 1) for i, c1 in enumerate(s1): current_row = [i + 1] for j, c2 in enumerate(s2): insertions = previous_row[j + 1] + 1 deletions = current_row[j] + 1 substitutions = previous_row[j] + (c1 != c2) current_row.append(min(insertions, deletions, substitutions)) previous_row = current_row return previous_row[-1] # 示例使用 gene_seq1 = "ATGC" gene_seq2 = "ATGG" distance = levenshtein_distance(gene_seq1, gene_seq2) similarity = 1 - (distance / max(len(gene_seq1), len(gene_seq2))) print(f"基因序列的相似性: {similarity}") ``` ### 代码解释 - `levenshtein_distance` 函数用于计算两个字符串的编辑距离。 - 通过计算编辑距离,然后用 1 减去距离与较长序列长度的比值得到相似性。 ### 注意事项 -PTA平台上,需要根据具体的输入输出要求对代码进行调整,比如读取输入的基因序列,格式化输出结果等。 - 不同的基因相似性计算方法可能适用于不同的场景,编辑距离只是其中一种简单的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值