Python编程

xiaoxiao2021-02-28  91

1.经典程序设计问题:找第n个默尼森数。P是素数且M也是素数,并且满足等式M=2**P-1,则称M为默尼森数。例如,P=5,M=2**P-1=31,5和31都是素数,因此31是默尼森数。

输入格式:按提示用input()函数输入

输出格式:int类型

输入样例:4

输出样例:127

import math def prime(n): if n < 2: return False for i in range(2, int(math.sqrt(n)) + 1): if n % i == 0: return False return True def monisen(no): prime_dic = {} prime_list = [] n = 10000 for i in range(2, n + 1): prime_dic[i] = 1 for i in range(2, int(math.sqrt(n)) + 1): for j in range(i * i, n + 1, i): if prime_dic[i] == 1: prime_dic[j] = 0 for k, v in prime_dic.items(): if v == 1: prime_list.append(k) for i in prime_list: mon = 2 ** i - 1 if prime(mon): no = no - 1 if no <= 0: return mon print(monisen(int(input())))2. 统计字符串中的字符个数

定义函数countchar()统计字符串中所有出现的字母的个数(允许输入大写字符,并且计数时不区分大小写)。形如:

输入格式:

字符串

输出格式:

列表

输入样例:

Hello, World!

输出样例:

[0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 3, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0]

def countchar(str): charmap={} for i in range(26): charmap[chr(i+65)]=0 str=str.upper() for c in str: if ord("A")<=ord(c)<=ord("Z"): charmap[c]+=1 else: continue return [charmap[chr(i+65)] for i in range(26)] if __name__ == "__main__": str = input() print(countchar(str)) 3. 找人程序

题目内容:

有5名某界大佬xiaoyun、xiaohong、xiaoteng、xiaoyi和xiaoyang,其QQ号分别是88888、5555555、11111、12341234和1212121,用字典将这些数据组织起来。编程实现以下功能:用户输入某一个大佬的姓名后输出其QQ号,如果输入的姓名不在字典中则输出字符串“Not Found”。

程序框架如下:

输入格式:

     字符串

输出格式:

     字符串

输入样例:

     xiaoyun

输出样例:

     88888

def find_person(dict_users, strU): if strU in dict_users.keys(): userQQ = dict_users[strU] return userQQ else: return 'Not Found' if __name__ == "__main__": dict_users={'xiaoyun':'88888','xiaohong':'5555555','xiaoteng':'11111','xiaoyi':'12341234','xiaoyang':'1212121'} strU = input() print(find_person(dict_users, strU))

转载请注明原文地址: https://www.6miu.com/read-68184.html

最新回复(0)