**例如: 19 就是一个快乐的数字,计算过程如下:**
• 12 + 92 = 82
• 82 + 22 = 68
• 62 + 82 = 100
• 12 + 02 + 02 = 1
当输入时快乐的数字时,输出True,否则输出False。
if n == 1:
print("True")
elif n == 4:
print("False")
else:
num = str(n)
sum = 0
for a in num:
sum += int(a) ** 2
return happy(sum)
成绩百分制转换为等级制
描述
利用多分支选择结构将成绩从百分制变换到五级等级制(A、B、C、D、E),例如,输95,输出A
print('A')
print('B')
print('C')
print('D')
print('E')
货物托运收费(循环)
描述
托运货物收费是根据货物重量来算的,某托运处的收费标准是:货物重量在50千克(包括)以下的,每千克0.5元,超过50千克部分每千克0.6元,
写一程序,输入货物重量,输出收费金额,每次输完重量后问一下,输入下一个货物的重量吗(y/n,Y/N),回答是y或Y,则继续,否则程序结束。
输入格式
第一行输入货物重量,第二行输入Y(y)或者N(n)
输出格式
收费金额,中间空格分隔,如下所示:
货物重量: 30 收费: 15.0
if weight <= 50:
money = weight*0.5
else:
money = 25+(weight-50)*0.6
return money
s = input()
if s in ['Y','y']:
weight = eval(input())
money = cal(weight)
print("货物重量: {} 收费: {:.1f}".format(weight,money))
else:
break
货物托运收费计算
描述
托运货物收费是根据货物重量来算的,某托运处的收费标准是:货物重量在50千克(包括)以下的,每千克0.5元,超过50千克部分每千克0.6元,写一程序,输入货物重量,输出收费金额。
输入格式
输出格式
输出收费金额
print(weight*0.5)
print(25+(weight-50)*0.6)
计算100以内偶数的和
描述
请编辑程序输出100以内的偶数之和(包括100)
count += 2*i
print("第{}个偶数为:{}".format(i+1,2*i))
使用numpy生成多维数组
根据键盘上输入的两个数字m和n,生成m行n列数据。该二维数组的内容是从0开始的偶数。
输入用逗号分隔的两个整数,如3,4
输出三行四列的偶数。如:
显示CPI
附件中有个cpi.csv文件,里面存储了1990年1月到2019年4月的数据,格式为:month和cpi。请用pands库读入这个文件,并从键盘上输入一个日期,如:2000.6。
输出为当月的cpi值,如:100.5。
如果没有当月数据,则输出“No Data”
提示:使用read_csv()读取文件时,若默认模式读入的数据类型是错的,比如字符串"2019.3"读入后变成了数值“2019.30”,请使用dtype参数强制按指定类型读入数据。
if idate == date:
cpilocal = record.loc[record['month']==date,'cpi'].values[0]
print(cpilocal)
cn = 1
print('No Data')
发现异常值
附件中有个dirtycpi.csv文件,里面存储了1990年1月到2019年4月的数据,其格式为:month和cpi。cpi的数据一般在2%左右为正常。请用pands库读入这个文件,并从键盘上输入><符号和数字作为判断数据异常的阈值,如:<30,表示低于30的cpi数据为异常。>400,表示高于400的cpi数据为异常。
输出为异常数据信息,如:发现大于400的异常数据4条。 输入: <30 输出: 发现小于30的异常数据7条
提示:使用read_csv()读取文件时,若默认模式读入的数据类型是错的,比如字符串"2019.3"读入后变成了数值“2019.30”,请使用dtype参数强制按指定类型读入数据。
for c in record['cpi']:
if eval(c) < value:
cn += 1
print('发现小于{}的异常数据{}条'.format(value,cn))
for c in record['cpi']:
if eval(c) > value:
cn += 1
print('发现大于{}的异常数据{}条'.format(value,cn))
标题
描述
已知字典:dt = {“姓名”:[“张唐”,“李丽”],“学号”:[“201805160021”,“201805160022”],“成绩”:{“英语”:[89,95],“政治”:[98,80],“Python程序设计”:[90,95]} }。
要求按照如下格式输出每位同学成绩的平均分(保留一位小数):
张唐 英语、政治、Python三门课程平均成绩为:
李丽 英语、政治、Python三门课程平均成绩为:
ave = (dt['成绩']['英语'][a] + dt['成绩']['政治'][a] + dt['成绩']['Python程序设计'][a])/3
print("{} 英语、政治、Python三门课程平均成绩为:{:.1f}".format(dt['姓名'][a],ave))
计算矩形面积和周长
描述
从键盘上输入矩形的长和宽,求解矩形面积和周长。(要求:矩形的长和宽为正数,面积结果保留两位小数)
输入格式
输入的数据请使用以下方式完成,变量名任意,input() 函数中不要添加任何提示信息。
第一行输入一个数字,代表矩形的长;第二行输入一个数字,代表矩形的宽。
输出格式
保留两位小数可用 {:.2f} 形式。
列表中偶数位索引元素排序
描述
编写程序,将列表中偶数位索引的元素(包含索引为0的元素)进行升序排序,并将排序后的结果放回原列表中。将该过程写成一个函数,参数为列表。
求大多数元素
1) 接收一个列表,找出其中数量最多的元素,如果元素数量相同,选择列表中靠前的元素输出。
2)例如,获得输入列表[3,2,3],输出3。
3)输入代码并提交解答。
counts[l]= counts.get(l,0)+1
第K序元素查找
1)编写程序,在无排序的一个列表中查找第k个最大元素。例如, 给定3,2,1,5,6,4和k=2,输出5。
2)注意:假设k总是有效的,且k值大于等于0,小于等于数组的长度。
3)输入代码并提交解答。
**设计一个计算平方根的小程序
描述
要求从键盘输入一个数字,然后计算其平方根。
两数和的目标
1)给定一个整数列表,在列表中,从前向后查找两个元素使其相加之和等于目标数,并返回两个整数在列表中的下标。如果没有符合条件的数字,输出False,本题假设题目的解唯一。
2)注意:分两次input()分别读入整数列表和目标数;输出采用列表形式。例如,依次输入整数列表 [2,7,11,15] 和9,输出[0, 1]。
3)输入代码并提交解答。
for j in range(i+1,len(ls)):
if (ls[i] + ls[j])==value:
count = 1
print('[{}, {}]'.format(i,j))
break
print('False')
统计随机整数出现的频率
随机生成50个介于[1,20]之间的整数,种子数为10,统计每个整数出现频率,并按照键升序输出整数及其相应的频率。
ls.append(random.randint(1,20))
counts[i] = counts.get(i,0) + 1
print(i[0],i[1])
列表形式输出字典的键与值
描述
输入字典,将字典 中所有值以列表形式输出,字典中所有键以列表形式输出。
输入格式
{123:“123”, 456:“456”, 789:“789”}
输出格式
[‘123’, ‘456’, ‘789’]
[123, 456, 789]
计算菜单消费总额
描述
输入双人下午套餐(包括点心名及相应价格,计算并输出消费总额。
输入格式
{‘卡布奇洛’:32,‘摩卡’:30,‘抹茶蛋糕’:28,‘布朗尼’:26}
输出格式
116
s += i
课程及其编码字典
描述
输入课程及编码的字典,编写代码完成如下功能:
(1)向字典中添加键值对"化学":205。
(2)修改"数学"对应的值为 201。
(3)用pop方法删除"生物"对应的键值对。
(4)并按照键的升序打印字典 d 全部信息,参考格式如下(注意,其中冒号为英文冒号,逐行打印)
205:化学
201:数学
略
输入格式
{“数学”:200, “语文”:202, “英语”:203}
输出格式
205:化学
201:数学
203:英语
202:语文
dr.pop('生物')
print(str(item[1])+':'+item[0])
根据键盘输入输出字典的值
描述
请输入一个课程及其编码的字典,同时用户输入课程名称,编写程序输出课程名称对应的编码,如果用户输入的课程名称不存在,则输出“您输入的键不存在!”
print(dr[k])
print('您输入的键不存在!')
分行写入文件
描述
分三行将你的学号、姓名、和班级写入文本文件name.txt中,然后将文件name.txt中的内容输出到屏幕上显示。
fo.writelines(line+'\n')
print(line)
判断字符类型
描述
编写程序,输入一个字符ch,判断并输出字符的类型,即字母(alpha)、数字(numeric)或其他字符(other)。
print('alpha')
print('numeric')
print('other')
列表元素"零"的移动
描述
对于一个列表,在保持非零元素相对顺序的同时,将元素中所有的数字0移动到末尾。
例如,获得输入列表 [0, 1, 0, 3, 12],输出 [1, 3, 12, 0, 0]。
ls.remove(0)
ls.append(0)
输出学生基本信息
将学生信息封装成一个类Student,包括姓名、性别、年龄、家庭住址。并在display()方法中显示这个信息。
输入:‘张三’,‘男’,30,'寸金路29号’
输出:张三,男,30岁,寸金路29号。
'学生信息'
def __init__(self,name,sex,age,address):
self.name = name
self.sex = sex
self.age = age
self.address = address
def display(self):
print(self.name+','+self.sex+','+str(self.age)+'岁,'+self.address+'。')
输出L
描述
#用*号输出字母L的图案。
请将代码复制到“提交代码”模块,并将代码中所有的#删除,替换为正确的程序语句,然后单击“保存并提交测试”按钮,注意不可以修改程序代码中的其他语句。
for i in range(####):
print("*")
print(####)
print("*")
字典统计排序1
描述
字典d中存储了我国42所双一流高校及所在省份的对应关系,请以这个列表为数据变量,完善Python代码,统计各省份学校的数量。
输出显示出数量最多的省份及数量。
d = {“北京大学”:“北京”, “中国人民大学”:“北京”,“清华大学”:“北京”,
“北京航空航天大学”:“北京”,“北京理工大学”:“北京”,“中国农业大学”:“北京”,
“北京师范大学”:“北京”,“中央民族大学”:“北京”,“南开大学”:“天津”,
“天津大学”:“天津”,“大连理工大学”:“辽宁”,“吉林大学”:“吉林”,
“哈尔滨工业大学”:“黑龙江”,“复旦大学”:“上海”, “同济大学”:“上海”,
“上海交通大学”:“上海”,“华东师范大学”:“上海”, “南京大学”:“江苏”,
“东南大学”:“江苏”,“浙江大学”:“浙江”,“中国科学技术大学”:“安徽”,
“厦门大学”:“福建”,“山东大学”:“山东”, “中国海洋大学”:“山东”,
“武汉大学”:“湖北”,“华中科技大学”:“湖北”, “中南大学”:“湖南”,
“中山大学”:“广东”,“华南理工大学”:“广东”, “四川大学”:“四川”,
“电子科技大学”:“四川”,“重庆大学”:“重庆”,“西安交通大学”:“陕西”,
“西北工业大学”:“陕西”,“兰州大学”:“甘肃”, “国防科技大学”:“湖南”,
“东北大学”:“辽宁”,“郑州大学”:“河南”, “湖南大学”:“湖南”, “云南大学”:“云南”,
“西北农林科技大学”:“陕西”, “新疆大学”:“新疆”}
输出格式
省份:数量 (中文冒号)
counts[place] = counts.get(place,0) + 1
词频统计之《哈姆雷特》
描述
Hamlet 《哈姆雷特》是莎士比亚的一部经典悲剧作品。这里提供了该故事的文本文件:hamlet.txt。
请统计该文件中出现英文的词频,按照如下格式打印输出前10个高频词语:
the , 1138
即:英文单词(左对齐,宽度为10)+ 逗号 + 词语出现的频率(右对齐,宽度为5)
要求与说明:
1. 标点符号及组合不算作英文词语,去除的标点及特殊符号如下 !"#$%&()*+,-./:;<=>?@[\]^_‘{|}~
2. 同一单词的各种大小写形式记作一个词,如The和the相同
3. 在程序中,请使用文件名打开文件:hamlet.txt
f = f.replace(i," ")
counts[word] = counts.get(word,0) + 1
print("{:<10},{:>5}".format(items[i][0],items[i][1]))
天天向上的力量 A
描述
一年365天,以第1天的能力值为基数,记为1.0。当好好学习时,能力值相比前一天提高N‰;当没有学习时,由于遗忘等原因能力值相比前一天下降N‰。每天努力或放任,一年下来的能力值相差多少呢?其中,N的取值范围是1到10,N可以是小数。
获得用户输入N,计算每天努力和每天放任365天后的能力值及能力间比值,其中,能力值保留小数点后2位,能力间比值输出整数,输出结果间采用“逗号+空格”格式。
此题目是OJ题,使用input("")获得N。
一年365天,以第1天能力值为基数,记为1.0。当好好学习时,能力值相比前一天提高N‰;当没有学习时,由于遗忘等原因能力值相比前一天下降N‰。每天努力或放任,一年下来的能力值相差多少呢?
打印一个列表,输出N从0到10所对应的值,格式如下:
N=n‰, UP=x.xx, DW=y.yy, UP/DW=z.zz
其中,每一行输出对应一个N的取值,每行中分别输出每天努力和每天放任365天后的能力值及能力间比值,所有值保留小数点后2位,输出结果间采用"逗号+空格"格式,当n=10时,显示1%。
UP = math.pow((1 + n / 1000),365)
DW = math.pow((1 - n / 1000),365)
if n <10:
print("N={}‰, UP={:.2f}, DW={:.2f}, UP/DW={:.2f}".format(n,UP,DW,(UP/DW)))
else:
print("N=1%, UP={:.2f}, DW={:.2f}, UP/DW={:.2f}".format(UP,DW,(UP/DW)))
天天向上的力量 III
描述
一年365天,以第1天的能力值为基数,记为1.0。
当好好学习时,能力值相比前一天提高N‰;当没有学习时,能力值相比前一天下降N‰。
每天努力或放任,一年下来的能力值相差多少呢?其中,N的取值范围是0到100,N可以是小数,假设输入符合要求。
获得用户输入的N,计算每天努力和每天放任365天后的能力值及能力间比值,其中,能力值保留小数点后2位,能力间比值输出整数,输出结果间采用英文逗号分隔。
使用input()获得N。
字符串反码 A
描述
字符串反码的定义为:字符串所包含字符的反码组成的字符串。
字符反码的定义为:
(1) 对于小写英文字符,它的反码也是一个小写英文字符,且该字符与’a’的距离等于其反码与’z’的距离;
(2) 对于大写英文字符,它的反码也是一个大写英文字符,且该字符与’A’的距离等于其反码与’Z’的距离;
两个字符距离指其对应unicode编码之差。
输入
示例1:2018-Python123-Well-Done
输出
示例1:2018-Kbgslm123-Dvoo-Wlmv
if i.islower()==True:
print("{}".format(chr(ord('z')+ord('a')-ord(i))),end="")
elif i.isupper()==True:
print("{}".format(chr(ord('Z')+ord('A')-ord(i))),end="")
else:
print(i,end="")
货币转换 C
描述
人民币和美元是世界上通用的两种货币之一,写一个程序进行货币间币值转换,其中:
人民币和美元间汇率固定为:1美元 = 6.78人民币。
程序可以接收人民币或美元输入,转换为美元或人民币输出。人民币采用¥符号或RMB表示,美元采用 或 U S D 表 示 , 符 号 和 数 值 之 间 没 有 空 格 。 注 意 : ( 1 ) 人 民 币 和 美 元 间 符 号 在 转 换 中 要 对 等 , ¥ 和 或USD表示,符号和数值之间没有空格。 注意: (1) 人民币和美元间符号在转换中要对等,¥和 或USD表示,符号和数值之间没有空格。注意:(1)人民币和美元间符号在转换中要对等,¥和相互对应,RMB和USD相互对应,输出结果保留小数点后两位;
(2) 符号在数字的后面;
(3) 这是一个OJ题目,获得输入请使用input() 。
out = eval(Str[:-1]) * 6.78
print("{:.2f}¥".format(out))
out = eval(Str[:-1]) / 6.78
print("{:.2f}$".format(out))
out = eval(Str[:-3]) * 6.78
print("{:.2f}RMB".format(out))
out = eval(Str[:-3]) / 6.78
print("{:.2f}USD".format(out))
温度转换 II
描述
温度的刻画有两个不同体系:摄氏度(Celsius)和华氏度(Fabrenheit)。
请编写程序将用户输入华氏度转换为摄氏度,或将输入的摄氏度转换为华氏度。
转换算法如下:(C表示摄氏度、F表示华氏度)
C = ( F - 32 ) / 1.8
F = C * 1.8 + 32
要求如下:
(1) 输入输出的摄氏度采用大写字母C开头,温度可以是整数或小数,如:C12.34指摄氏度12.34度;
(2) 输入输出的华氏度采用大写字母F开头,温度可以是整数或小数,如:F87.65指摄氏度87.65度;
(3) 不考虑异常输入的问题,输出保留小数点后两位;
(4) 使用input()获得测试用例输入时,不要增加提示字符串。
out = eval(Str[1:]) * 1.8 + 32
print("F{:.2f}".format(out))
out = (eval(Str[1:]) - 32) / 1.8
print("C{:.2f}".format(out))
3位水仙花数计算 B
"3位水仙花数"是指一个三位整数,其各位数字的3次方和等于该数本身。例如:ABC是一个"3位水仙花数",则:A的3次方+B的3次方+C的3次方 = ABC。
请按照从小到大的顺序输出所有的3位水仙花数,请用"逗号"分隔输出结果。
注意:这是一个OJ题目,输出格式要严格一致。
m = str(i)
a,b,c = list(m)[0],list(m)[1],list(m)[2]
a,b,c,m = eval(a),eval(b),eval(c),eval(m)
if m == a**3+b**3+c**3:
if n == 0:
print(m,end = '')
n +=1
else:
print(",{}".format(m),end = '')
字符串垂直输出
描述
将输入的字符串垂直输出
print(m[i])
九九乘法表
描述
输出一个九九乘法表,格式如下:
11=1
21=2 22=4
31=3 32=6 33=9
41=4 42=8 43=12 44=16
51=5 52=10 53=15 54=20 55=25
61=6 62=12 63=18 64=24 65=30 66=36
71=7 72=14 73=21 74=28 75=35 76=42 77=49
81=8 82=16 83=24 84=32 85=40 86=48 87=56 88=64
91=9 92=18 93=27 94=36 95=45 96=54 97=63 98=72 9*9=81
for j in range (1,(i + 1)):
print("{}*{}={}".format(i,j,i*j),end = ' ')
print("\n")
Collatz猜想
描述
Collatz猜想也叫3n+1猜想,给一个正整数,如果是偶数,则减半;如果是奇数,则变为它的三倍加一。直到变为1停止。猜想对于所有正整数经过足够多次变换最终达到1。
输入格式
输入一个正整数,每一步计算都输出相应的计算操作。输入使用input(),不要增加额外的提示信息。
输出格式
输出每一步计算结果。
if org%2 == 0:
org = org/2
print("{:.1f}".format(org))
else:
org = 3 * org + 1
print("{:.1f}".format(org))
圆面积的计算 A
根据圆半径计算圆面积,结果保留两位小数。其中,圆周率使用 3.1415。
二分法求平方根
描述
设计一个用二分法计算一个大于或等于 1 的实数 n 的平方根的函数sqrt_binary(n),计算精度控制在计算结果的平方与输入的误差不大于1e-6。
注:初始区间取[0,n]
输入格式
输入一个实数 n(大于或等于1)
输出格式
第一行输出用自己设计的函数计算得到的平方根
第二行输出用math库开平方函数计算得到的平方根
a,answer,b = 0,n/2,n
while abs(answer**2 - n) > 1e-6:
if answer**2>n:
b = answer
else:
a = answer
answer = (a + b)/2
return answer
处理隐私信息
描述
请把输入的手机号的中间四位处理为星号。
摘取数字
从键盘输入一串字符串,对其中包含的数字取出,并生成一个新的字符串。
if str[i].isdigit() == True:
print(eval(str[i]),end='')
字符替换
描述
假设有段英文,其中有单独字母“P”被误写为“p”,请编写程序进行纠正。
if str[i] == 'p':
print('P',end='')
else:
print(str[i],end='')
姓名替换
描述
用户输入一个姓名,将中间位用星号替换掉,以保护隐私。
print(name[0] + '*')
print(name[0] + '*'*(len(name) - 2) + name[-1])
**a除以b
print('除零错误')
print("{:.2f}".format(a/b))
获取月份字符串
描述
输入一个1~12的数字,输出相应的月份,例如输入3,输出“三月份”
英文字符串单词个数统计
描述
输入一个英文字符串,按照空格分割单词并统计单词个数
奇偶数变化
描述
输入一个列表,将其中的奇数加1,偶数不变。
if i%2 == 0:
out.append(i)
else:
out.append(i+1)
读取文件并显示
已知当前目录下有个文本文件:demo1.txt,里面的内容是三行文字:
北京
理工
大学
请读取文件并原样显示出来。
print(f.read())
*EAN13条形码的验证
描述
编写程序实现如下功能:
超市购买的商品包装上都会有一个条形二维码,一般是一种称为EAN13码的条码,一共由13个数字组成。前12位数字包含了国家代码、厂商代码和产品代码,最后一位数字是校验码,结构如下表所示(N1到N12为前12位数字,C为校验位数字):
N1 N2 N3 N4 N5 N6 N7 N8 N9 N10 N11 N12 C
校验位C和前12位数字的运算关系如下:
设:
C1为前12位数字中的奇数位数字之和,即:C1=N1+N3+N5+N7+N9+N11
C2为前12位数字中的偶数位数字之和乘以3的结果,即:C2=(N2+N4+N6+N8+N10+N12)3
CC 为 (C1 + C2)的个位数字
则:校验位数字C为10-CC的个位数字。
请编写程序用来检测用户输入的一个13位数字能否通过EAN13码的校验,能通过请输出:校验已通过;否则输出:校验未通过。
C1 += eval(i)
C2 += eval(i)
奇偶不同,结果不同(标准版)
描述
编写程序实现如下功能:
使用两个 input() 接收用户的两个输入,第一个为一个正整数,第二个为一个任意字符串(两个数据的录入用回车作为分隔)。根据第一个整数为奇数还是偶数执行不同的操作。
具体要求如下:
• 如果第一个整数为奇数(假设为3),第二个字符串假设为"abc",则输出3遍"abc";即第一个整数为奇数n,则输出n遍第二个字符串;
• 如果第一个整数为偶数(假设为4),第二个字符串假设为"abc",则输出4遍"abc"的逆序字符"cba";即第一个整数为偶数n,则输出n遍第二个字符串逆序字符串(提示,字符串 s 的逆序串可以表示为 s[::-1])。
输入格式
两个输入第一个为正整数,第二个为一串字符,输入使用 input(),不要增加额外的提示信息。
输出格式
按要求输出一行结果,除此外不要输出任何内容。
拍7游戏
描述
“拍7游戏”规则是:一堆人围成一圈,开始时,任意指定一人说出数字“1”后,一圈人按顺时针方向,每人按整数由小到大的顺序一人一个地报出后续数字“2”、“3”…,当遇到为“7”的整数倍数字或含“7”的数字时,该念这个数字的人需要拍手一下并喊“跳过”(不能念出这个数字)。应该拍手并喊“跳过”的人,念出了数字,或者该念数字而拍手或喊“跳过”的人为输,接受惩罚后,游戏重新开始。
书写一个程序,接收用户的一个整数输入,输出从1到这个整数(包含这个整数)间所有应该拍手喊“跳过”的数字。每个数字输出占一行。
输入使用 input() ,不要附加任何参数和提示信息。
输入格式
输入一个整数,使用 input() 函数实现。不要为 input() 函数增加任何参数和提示信息。
输出格式
按行输出结果。具体参阅下方输入输出示例。
输入输出示例
输入 输出
示例 1 21 1. 7
2. 14
3. 174. 21
示例 2 30 1. 7
2. 14
3. 17
4. 21
5. 276. 28
if i%7 == 0:
print(i)
elif '7' in str(i):
print(i)
else:
continue
删除list里面的重复元素
描述
请输入一个列表,里面有重复的元素;找出该列表中的重复元素并只保留最先出现的一个;输出去除重复元素的新列表。
注意:输出列表时,不能改变元素在输入列表中的相对位置。
if not i in result:
result.append(i)
人民币和美元币值转换
描述
人民币和美元是世界上通用的两种货币之一,写一个程序进行货币间币值转换,其中:人民币和美元间汇率固定为:1美元 = 6.78人民币。
程序可以接受人民币或美元输入,转换为美元或人民币输出。人民币采用RMB表示,美元USD表示,符号和数值之间没有空格。实现如下功能:
输入:RMB100,程序输出:USD14.7
输入:USD100,程序输出:RMB678
R = eval(tmp[3:])*6.78
print("RMB{:.2f}".format(R))
U = eval(tmp[3:])/6.78
print("USD{:.2f}".format(U))
数的位数计算
描述
写一段程序接受外部输入,输入为从[0, 1000)的整数,将这个整数的各个位置上(个、十、百)的数字加起来求和
例如, 输入数字932, 个十百位的数字和为9 + 3 + 2 = 14.
sum += eval(i)
****拿鸡蛋
描述
一筐鸡蛋:
1个1个拿,正好拿完。
2个2个拿,还剩 1个。
3个3个拿,正好拿完。
4个4个拿,还剩 m个。
5个5个拿,还差 m个。
6个6个拿,还剩 3个。
7个7个拿,正好拿完。
8个8个拿,还剩 n个。
9个9个拿,正好拿完。
问筐里最少有多少鸡蛋?
已知鸡蛋的数目不会超过10000,若超过10000依然找不到满足条件的数目,则输出ERROR
提示
if i%2 == 1 and a == 0:
if i%3 == 0:
if i%4 == m:
if i%5 == (5-m):
if i%6 == 3:
if i%7 == 0:
if i%8 == n:
if i%9==0:
print(i)
a = 1
print("ERROR")
验证身份证号
描述
我国身份证号码是18位数字和字母X的组合,其中前17位是数字,第18位是校验位,其值可以是数字或字母X。其中,第18位的校验方法如下:
1、将身份证号码前17位数分别乘以不同的系数:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
2、将上述17个相乘的结果求和,然后除以11,获得余数
3、余数0 1 2 3 4 5 6 7 8 9 10分别对应身份证号码的最后一位为1 0 X 9 8 7 6 5 4 3 2
例如:某身份证号码是210102198004256032,校验其正确性的过程如下:
首先:计算27+19+010+15+…+3*2,前17位的乘积和是230
然后:用230除以11余数为10
最后:余数10对应的校验位数字是2,因此,这是一个合格的身份证号码。
请编写一个程序,对用户输入的身份证号码进行校验,输出:合格或者不合格。
提示
1、可以使用字典存储余数和身份证最后一位的对应关系
输入格式
print("合格")
print("不合格")
计算财产
描述
有N个人坐成一排,从后向前挨个询问(从第N个人问到第1个人),问第n个人手头有多少钱?他说比自己前面的两个人(即第n-1个人和第n-2个人)的钱数加起来还多5元。依次询问时每个人都这么说,只有做第1个人和第2个人说自己只有10元。请问这N个人一共有多少钱?
通过N = input()来接受一个输入,代表一共有N个人
提示:
if n == 0:
s = 0
elif n == 1:
s = 10
elif n == 2:
s = 20
else:
s = 2*sa(n-1) - sa(n-3)+5
return s
从文件中读取内容
描述
读文件myFile.txt,将文件内容逐行输出显示在屏幕上,同时显示每行内容包含的单词的数目。
可以认为myFile.txt的文件就在当前工作的文件目录下。
line = line.strip("\n")
words = line.split()
print("{} {}".format(line,len(words)))
进制转换
描述:
模块化程序设计是指在进行程序设计时将一个大的程序按照功能划分为若干小程序模块,每个小程序模块完成一个确定的功能,并在这些模块之间建立必要的联系,通过模块的互相协作完成整个功能。
请使用模块化程序设计方法完成进制转换,即:给你一个十进制数a(-65535 要求:
将虚线下的代码复制到答题区域、补充完善后再提交。
if a < 0:
return '-'
else:
return ''
bs = []
while absA != 0:
bs.append(str(absA%b))
absA = absA//b
bs.reverse()
b = "".join(bs)
return b
素数判断
描述
一次在一行接受5个1~1000的数字,判断每一个是否为素数,如果是,在对应位置输出YES,如果不是,输出NO
(注:1不是素数,2是最小的素数)
请以函数的形式完成该题目,补充isPrimeNumber()函数的内容,并调用isPrimeNumber()函数来完成题目要求功能
for i in num:
if i == 1:
print("NO")
elif i == 2:
print("YES")
else:
for m in range(2,i):
if i%m == 0:
print("NO")
break
else:
print("YES")
寻找第一个重复数字
描述
接收用户输入的一行数字,如果这行数字中元素存在重复,则返回第一个重复的元素,否则返回False。
输入内容为空,返回False。
print("False")
counts = {}
for i in ls:
counts[i] = counts.get(i,0) + 1
for item in counts.items():
if item[1] != 1:
print(item[0])
break
else:
print("False")