2020-12-30

这是一份Python编程的基础练习题目集,涵盖了从九九乘法表到更复杂的算法问题,包括数字组合、字符串处理、逻辑判断、数据结构、递归函数、文件操作等多方面内容,旨在帮助学习者巩固Python基础知识。
摘要由CSDN通过智能技术生成

1-1 输出九九乘法表,课本P8

for i in range(1,10):
for j in range(1,i+1):
print(’%s*%s=%s’%(i,j,i*j),end=" ")
print()

3-1 课本P148

s=“abcdefgh”
while s:
a,*s=s #序列解包
print(a,s)

4-1 交换数值:课本P162

x=input(“请输入两个数字(以空格分隔):”)
a,b=map(int,x.split())
if a>b:
a,b=b,a
print(“交换结果:”,a,b)

4-2海伦公式:课本P163

a=float(input(“请输入1:”))
b=float(input(“请输入2:”))
c=float(input(“请输入3:”))
if a+b>c and b+c>a and c+a>b:
s=(a+b+c)/2
area=(s*(s-a)(s-b)(s-c))**0.5
print(“三角形的面积=%.2f” %area)
else:
print(“不能构成三角形”)

4-3 鸡兔同笼问题:课本P166

鸡+鸡=s,腿=t,兔=tu
s,t=map(int,input(“请输入鸡兔总数和腿总数,之间用空格分开:”).split())
tu=(t-s*2)/2
if int(tu)==tu:
print(“鸡:{0},兔:{1}”.format(int(s-tu),int(tu)))
else:
print(“输入的数据不正确,无解!!!”)

4-4 输入10个数,统计输入正数的个数 P180

i=k=0
while i<10:
n=input(“输入第”+str(i+1)+“数=”)
if not n.replace("-"," ").isdigit():
print(“输入的不是数字!请重新输入!”)
continue
else:
i=i+1
if int(n)<=0: #输入负数提前结束本轮循环,进入下一轮循环
continue #使continue控制循环
k=k+1

print(“10个数中正数的个数=”,k)

4-5 求二阶Fibonaci数列 P182

非递归:
def Fib(n):
if(n1 or n2):
return 1
else:
t1=1
t2=1
for i in range(3,n+1):
t3=t1+t2
t1=t2
t2=t3
return t3
n=int(input(“请输入一个正整数:”))
print(Fib(n))
递归:
def Fib(n):
if(n1 or n2):
return 1
else:
return Fib(n-1)+Fib(n-2)
n=int(input(“请输入一个正整数:”))
print(Fib(n))

4-6:输出由星号组成的菱形图案 P184

n=int(input(“请输入行数:”))
for i in range(1,n+1):
print((’(i)).center(n3))
for j in range(n,0,-1):
print((’
(j)).center(n3))

4-7:数字组合, 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少? 课本P184

count = 0 #计数器
for x in range(1,5):
for y in range(1,5):
for z in range(1,5):
if x!=y and x!=z and y!=z:
num=x100+y10+z
print(num,end= ‘’)
count += 1
print()
print(‘无重复数字的三位数的个数:’+str(count))
#方法二 列表推导式
num1 =[x100+y10+z for x in range(1,5) for y in range(1,5) for z in range(1,5) if x!=y and x!=z and y!=z]
print(num1)

4-6 判断101-200之间有多少个素数,并输出所有素数。课本P186

import math
count=0
for i in range(100,200):
for j in range(2,round(math.sqrt(i))+1): #round(),返回浮点数的四舍五入值
if i%j==0:
break
else:
print(i)

4-8 字符串构成,输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。课本P187

string=input(“请输入字符串:”)
alp=0 #字母
num=0 #数字
spa=0 #空格
oth=0 #其他
for i in range(len(string)):
if

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值