部分python二级习题答案
·
#工整输出99乘法表
for i in range(1,10):
for k in range(1,i+1):
print('{}*{}={} '.format(i,k,k*i),end='')
print()
#turtle 绘制共切点圆
import turtle
for i in range(1,3):
turtle.circle(100//i,10)
#输入文本,然后垂直输出文本
example_str='hello world'
for i in example:
print(i)
#用户输入名字,输出HELLO +用户名字,
#并随机给用户赋予一个幸运数字。
import random
example_name='李白'
print('HELLO {}'.format(example_name),'\n你的幸运数字是:',random.randrange(10))
#用户输入一个合法的计算算式,程序直接打印出结果
example_s='(1+2*5)/2'
print(eval(example_s))
#输入小数,输出整数部分
example_float='3.1415'
print(example_float.split('.')[0])
print(example_float[0:example_float.find('.')])
print(int(eval(example_float)))
print('{:.0f}'.format(eval(example_float)))
#用户输入一个数字N,求出1+。。N的和
example_num='100'
print(sum([i for i in range(1,int(example_num)+1)]))
#用户输入一个百位以上整数,输出百位以上部分
example_decimal='999120'
print(example_decimal[0:-3])
#用户输入一个用空格分开的字符串‘ab cd e f h gz’,分割并逐行打印。
example_input='ab cd e f h gz'
for i in example_input.split(' '): print(i)
#输入1-7之间的整数,返回星期一到星期日一一对应。
example_day='3'
week={'1':'星期一','2':'星期二','3':'星期三','4':'星期四','5':'星期五','6':'星期六','7':'星期日'}
print(week.get(example_day,'请输入正确数值1-7'))
#回文数判定
#设n是一任意自然数。若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。例如,若n=1234321,则称n为一回文数;但若n=1234567,则n不是回文数。
example_int='1221'
if example_int.isdecimal():
if example_int==example_int[-1::-1]:
print('是')
else:
print('否')
else:
print('请输入正确的数字')
#输入一个整数,分别转换为2进制,八进制16进制输出,要求一行输出。
example_numirc='1234'
st='二进制:{0:b} 八进制:{0:o} 十六进制:{0:x}'.format(int(example_numirc))
print(st)
#判断输入年份是否为闰年。
#普通闰年:公历年份是4的倍数的,且不是100的倍数,为普通闰年。(如2004年就是闰年);
#世纪闰年:公历年份是整百数的,必须是400的倍数才是世纪闰年(如1900年不是世纪闰年,2000年是世纪闰年)
example_year='2000'
if (int(example_year)%4 == 0 and int(example_year)%100 != 0) or int(example_year)%400 == 0:
print('yes')
else:
print('no')
#用户输入两个整数,判断两个数的最大公约数和最小公倍数。
num1=121
num2=11
num3=num1 if num1 >= num2 else num2
for i in reversed(range(1,num3+1)):
if num1 % i == 0 and num2 % i == 0:
print('最大公约数为{}'.format(i))
break
for i in range(1,num1*num2+1):
if i % num1 == 0 and i % num2 ==0 :
print('最小公倍数{}'.format(i))
break
#用户输入一个字符串,判断字符串里有多少英文字母,多少空格,多少数字,多少其他字符,并一行输出。
example_alp='aa bb 1234@@@@'
alpha,space,numric,other = 0,0,0,0
for i in example_alp:
if i.isalpha():
alpha += 1
elif i.isdecimal():
numric += 1
elif i ==' ':
space += 1
else:
other += 1
print('英文字符有{}个,数字有{}个,空格有{}个,其他字符有{}个'.format(alpha,numric,space,other))
#函数判断输入类型,是纯数字类字符还是混合字符,还是英文字母字符。
def foo(str):
if str.isalpha():
print('英文字母')
elif str.isdecimal():
print('纯数字字符')
elif str.isalnum():
print('混合类字符')
else:
print('未知字符')
foo('aaaa1a')
#判断质数。质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
a=66
for i in range(2,a):
if a % i == 0:
print('不是质数')
break
else:
print(a,'是质数')
#函数输出1-200以内素数。质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。
def prime(num):
for i in range(2,num):
for k in range(2,i):
if i % k == 0 and i != k:
break
else:
print(i)
prime(200)
#递归算法,计算斐波那契数列指的是这样一个数列:1、1、2、3、5、8、13、21、34,从第三项开始每一项是前两项之和
def fib(n):
if n<3:
return 1
else:
return fib(n-2)+fib(n-1)
for i in range(1,10):
print(fib(i))
#输入一段英文字符串,判断每个字母出现次数。
a='aabbccddsss'
for i in set(a):
print(i,'出现次数',a.count(i))
#生成随机密码列表,每个密码长度为4-8.
import random
import string
long_num = random.randint(4,8)
password = random.sample(string.ascii_letters+string.digits,long_num)
print(''.join(password))
#列表重复元素判定。
li=[1,1,2,3,2,21,33,44,000,]
for i in set(li):
if li.count(i) >= 2:
print(i,'重复元素')
#随机生成矩阵,并存储为csv文件。
import csv
import random
num=random.randint(2,10)
new_li=[[0 for i in range(2,num)] for k in range(2,random.randint(2,10))]
with open('test.csv','a',newline='',) as cs:
wr=csv.writer(cs)
for i in new_li:
wr.writerow(i)
print('ok')
#turtle绘制蜂窝状六边形。
import turtle
for i in range(12):
turtle.forward(50)
turtle.right(60)
for i in range(6):
turtle.forward(50)
turtle.left(60)
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)