python基础知识相关习题
#输入两个数字,输出最大数(要求使用if语句)
for i in range(3):a=int(input('pls enter a num'))b=int(input('pls enter a num'))if a>b:print(a)elif a<b:print(b)else:print('same')
#给定一个不超五位正整数,判断其有几位.
while True:try:a=int(input('pls enter a positive integer,less than five-digit '))if a>0 and a<99999:breakelse:print('watch carefully,my sweety')except:print('integer')
m=str(a)
print(len(m))
#打印10到1
法一:
flag=10
while flag:print(flag)flag -= 1
法二:
for i in range(10,0,-1):print(i)
#打印1到10:
for i in range(10):print(i+1)
#打印10以内偶数
法一:
for i in range(10):if not i%2:print(i)
法二:
for i in range(10):if i%2:continueprint(i)
法三:
for i in range(0,10,2):print(i)
#计算1000以内能被7整除的前20个数:
法一:
count=0
for i in range(1000):if i%7==0:print(i)count+=1if count==20:break
法二:
count=0
for i in range(0,1000,7):print(i)count+=1if count==20:break
#给定一个不超过5位的正整数,判断该数的位数,依次打印出个十百千万位数字:
while True:try:a=int(input('pls enter a positive integer,less than five-digit '))if a>0 and a<99999:breakelse:print('watch carefully,my sweety')except:print('integer')
m=str(a)
print(len(m))
print('以下法一结果:')
new1=a
for i in range(len(m)):n=new1//10print(new1-n*10)new1=n
print('以下法二结果:')
new2=a
for i in range(len(m)):print(new2%10)new2=new2//10
#打印一个边长为n的正方形:
n=int(input('enter the length'))
print('以下法一结果')
for i in range(n):if i==0 or i==(n-1):print('*'*n)else:print('*'+' '*(n-2)+'*')
print('以下法二结果')
print('*'*n)
for i in range(n-2):print('*'+' '*(n-2)+'*')
print('*'*n)
#求100内所有奇数的和(2500)
summ=0
for i in range(100):if i%2 !=0:summ=summ+i
print(summ)
print('法二')
a=0
for i in range(1,100,2):a+=i
print(a)
#判断学生成绩(A~E),90+是A,80-89是B,70-79是C,60-69是D,小于60是E
a=int(input('your score'))
if a>70:if a>=90:print('A')elif a>=80:print('B')else:priny('C')
elif a>=60:print('D')
else:print('E')
#求1-5阶乘之和
a=1
sum=0
for i in range(1,6):a=i*asum=sum+a
print(sum)
#给一个数,判断是否为素数(质数)
思路: 对这个数从2开始测试到n-1为止
a=int(input('give me a num'))
flag = False
for i in range(2,n):if n%i == 0:print('not a prime num')breakelse:print('a prime num')
#打印九九乘法表
思路:两层循环嵌套,注意顺序及打印边界.
法一:
思路: i循环中先设s值为空,避免j循环将s值带乱.内层j循环靠i卡边界,打印到i+1停止.
for i in range(1,10):s='' for j in range(1,10):if j<i+1:s += str(j)+ '*' + str(i) + '=' + str(i*j) + ' 'print(s)
法二:(字符串拼接,但存在打印结果不够整齐的问题)
思路:修改print函数end参数的值为空(默认值为\n),相当于打印当前行后不换行.
(其他知识点:print函数sep参数的默认值为空格,可以根据自己需要修改改为@,&,$等等)
for i in range(1,10):for j in range(1,i+1):print(str(j)+'*'+str(i)+'='+str(i*j),end=' ')
法三:(使用format函数填充,同时末尾分情况填充1或2个空格使打印结果更为整齐. 打印结果会发现第一二列之间空三格,其余列空两格)
知识点:format调用,按位置对应{}内的参数值; 前面要几个值,format函数括号里需至少提供几个值,否则会报错; {}内如填有数字(形为{1}),则为索引之意,调用format时会按照索引所示序号进行填充,索引超过范围会报IndexError.
for i in range(1,10):for j in range(1,i+1):if j*i<10:print('{}x{}={} '.format(j,i,i*j),end='')else:print('{}x{}={} '.format(j,i,i*j),end='')print()
法三其他实现:(同样使用format函数填充,同时设置左对齐)
知识点: {:10}代表空10格,{:>10}:空10格且右对齐,{:<10}:空10格切左对齐
for i in range(1,10):for j in range(1,i+1):print('{}x{}={: <2} '.format(j,i,i*j),end='')print()
无敌整齐版:
for i in range(1,10):for j in range(1,i+1):product = i*jif j>1 and product<10:product=str(product) + ' 'else:product=str(product)print(str(j) + '*' + str(i) + '=' + product,end=' ')print()
其他变形:打印右上乘法口诀表(正常是左下)
思路:考虑边界,打出第一行后,使用format函数使其他行与第一行对齐.
for i in range(1,10):s='' for j in range(1,10):if j+1>i:s += str(i)+ '*' + str(j) + '=' + str(i*j) + ' 'print('{:>80}'.format(s))
#打印菱形
思路:对称性图形,找出中间点,行数7行可等价为range[-3,3],
法一:
line=int(input('line you want'))
for i in range(-line//2,line//2+1):if i<0:print(' '*(-i)+'*'*(line+2*i))else:print(' '*i+'*'*(line-2*i))
法二:(绝对值)
for i in range(-3,4):print(' '*abs(i)+'*'*(7-2*abs(i)))
#打印对顶三角形
a=int(input('num'))
b=a//2
for i in range(-b,b+1):print(' '*(b-abs(i))+'*'*(2*abs(i)+1))
#打印闪电
for i in range(-3,4):if i<0:print(' '*abs(i)+'*'*(4-abs(i)))elif i==0:print('*'*7) else:print(' '+'*'*(4-i))
#打印100以内斐波那契数列
法一:
a=1
b=1
print(a)
while b<100:print(b)a,b=b,a+b
法二:
f0=1
f1=1
print(f0,f1,sep='\n')
for i in range(1,101):fn=f1+f0if fn<100:print(fn)f0=f1f1=fnelse:break
#求斐波那契数列第101项
f0=1
f1=1
for i in range(1,100):fn=f1+f0f0=f1f1=fn
print(fn)
#求10万内所有素数(不使用列表集合之类的方法).
思路:主要考虑怎样解决效率的问题…
低效率代码示例:
n=int(input('range'))
for i in range(1,n):for a in range(2,i):if i % a == 0:breakelse:print(i)
法一:(利用了边界值,算到给定范围的开方附近(省了一半计算),+1是为了避免int向下取整时漏掉一个)
num=int(input('range'))
strs = ''
for i in range(2,num):for c in range(2,int(i**0.5)+1):if i%c == 0:breakelse:strs += str(i)+' '
print(strs)
法二:(设置步长把所有偶数跳过,算到给定开方附近)
print(2)
for i in range(3,100001,2):if i>10 and i%10 == 5:continueelse:for j in range(2,int(i**0.5+1)):if i%j == 0:breakelse:print(i)
法三:(利用素数定理,大于等于5的质数一定和6的倍数相邻)
#大于等于5的质数一定和6的倍数相邻`
n=int(input('range'))
print(2,'\t',3,'\t',end=' ')
n=n//6+1
for i in range(1,n):k1=6*i-1tmp=int(k1**0.5)for num in range(2,tmp+1):if k1%num == 0:breakelse:print(k1,'\t',end=' ')k2=6*i+1tmp=int(k2**0.5)for num in range(2,tmp+1):if k2%num == 0:breakelse:print(k2,'\t',end=' ')
#输入n个数,求每次输入后的算术平均数
#打印对顶三角形
python基础知识相关习题相关推荐
- python基础知识整理-python爬虫基础知识点整理
首先爬虫是什么? 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本. 根据我的经验,要学习Python爬虫 ...
- 计算机二级c语言公共基础题,计算机二级C语言笔试公共基础知识课后习题及答案...
全国计算机等级考试二级公共基础知识课后习题及答案1 第一章数据结构与算法 一.选择题 1.算法的时间复杂度是指( ) A. 执行算法程序所需要的时间 B. 算法程序的长度 C. 算法执行过程中所需要的 ...
- 计算机公共基础知识书第二版答案,二级计算机公共基础知识课后习题及答案.doc...
全国计算机等级考试二级公共基础知识课后习题及答案1 第一章数据结构与算法 一.选择题 1.算法的时间复杂度是指(????) A.执行算法程序所需要的时间 B.算法程序的长度 C.算法执行过程中所需要的 ...
- python基础知识及数据分析工具安装及简单使用(Numpy/Scipy/Matplotlib/Pandas/StatsModels/Scikit-Learn/Keras/Gensim))
Python介绍. Unix & Linux & Window & Mac 平台安装更新 Python3 及VSCode下Python环境配置配置 python基础知识及数据分 ...
- python基础知识大一总结与反思_反思总结及规划 其一
时间:2021年1月18日 起因:对吴恩达机器学习的课后作业现成代码阅读吃力 问题症结:已经有一年半没有复习过python导致的知识遗忘(根本原因),欠账太多 先前的错误做法:一页一页的复习<p ...
- Python基础知识总结(期末复习精简版)
文章目录 知识汇总 前言 推荐的学习资料 复习要点 组合数据类型 序列类型通用操作符和函数 集合类型 映射类型 数值操作 运算符 字符串操作 字符串切片 基本切片操作 高级切片操作 操作.相关函数.相 ...
- Python基础知识详解 从入门到精通(八)魔法方法
目录 Python基础知识详解 从入门到精通(八)魔法方法 什么是魔法方法 基础魔法方法(较为常用) 比较操作符 算数运算符 反运算(类似于运算方法) 增量赋值运算 一元操作符 类型转换 上下文管理( ...
- python基础知识有哪些需要背(记住是基础知识)我是初学者
大家好,小编来为大家解答以下问题,一个有趣的事情,一个有趣的事情,今天让我们一起来看看吧! 1.python基础知识有哪些需要背(记住是基础知识)我是初学者 或看好Python的广阔前景,或看中Pyt ...
- python基础知识Chapter9
Day17 python基础知识 异常的本质_调试核心理念 异常指程序软件运行过程中出现的不正常现象,例如用户输入错误.除数为零.需要处理的文件不存在.数组下标越界等. 异常处理,指程序在出现问题时依 ...
最新文章
- linux中断共享程序实现,如何在非实时linux上实现实时应用程序与内核模块之间共享存储器...
- [Android] osx下如何使用SublimeText阅读Android系统源码
- web scraper 抓取网页数据的几个常见问题
- 解决“element表单验证输入的数字检测出来是string”的问题
- 实现基于渠道和buildType(debug,release)的打包
- JavaScript实现跳跃游戏的动态编程自下而上的方法的算法(附完整源码)
- C# 10 完整特性介绍
- caffe安装篇(一)
- storm的并行度的解释--- ( 看完就能理解 )
- MIP开发教程(二) 使用MIP-CLI工具调试MIP网页
- tab栏圆点按钮_uniapp tabbar上的小圆点
- hdu 1421 搬寝室 动态规划
- 色彩缤纷的python(改变字体颜色及样式不完全版)
- webtrends之ODBC源数据获取(一)——环境准备篇
- 一维无限深势阱定态薛定谔方程
- 理解功率MOSFET管的电流及mos管的作用!
- 自动驾驶入门(六):反向传播及链式法则
- 数据分析统计知识—描述性统计
- 37互娱,2019秋招提前批,web后端工程师
- 公开课教学反思 计算机,公开课教学反思