圆的周长和面积。2-1.py。输入圆的半径,求圆的周长和面积,结果四舍五入保留4位小数。
import math
r = eval(input("请输入圆的半径:"))
area=math.pi*r*r
print("圆面积为:",area)
a=area
round(a,4)
print('a')
2、直角三角形斜边上的高。2-2.py。输入直角三角形两直角边a,b的值,输出斜边上的高,结果四舍五入保留2位小数。
print('输入直角三角形两直角边a,b的值,')
a=eval(input('a='))
b=eval(input('b='))
h=a*b/((a*a+b*b)**0.5)
h=('{:.2f}'.format(h))
print(h)
3、字符串循环左移。2-3.py。给定一个字符串s,要求把s的前n个字符移动到s的尾部,如把字符串“abcdef”前面的2个字符‘a’、‘b’移动到字符串的尾部,得到新字符串“cdefab”,称作字符串循环左移n位。
输入一个字符串和一个非负整数n,要求将字符串循环左移n次。
s=str(input('请输入一个字符串:'))
n=int(input('请输入要循环左移的次数:'))
if(n>len(s)):
n-=len(s)
s=s[n:]+s[:n]
print(s)
4、输入一个由多个单词组成的字符串,单词以空格隔开。计算字符串最后一个单词的长度。
5、计算字符个数。2-5.py。输入一个由字母和数字组成的字符串(无空格),和一个字符,字符串和字符之间空格隔开,输出字符串中含有该字符的个数。不区分大小写。
s=input()
s=s.strip()
s=s.lower()
i=s[:-2]
a=s[-1]
b=i.count('a')
print(b)
6、字符串分段组合。2-6.py。输入的一个字符串s,以字符减号(-)分割s,将其中首尾两段用加号(+)组合后输出。
1、货币转换。3-1.py。
(1)输入字符串,表示货币值,$开始表示美元,¥开始表示人民币。
(2)设人民币兑换美元的汇率是0.1456,美元兑换人民币的汇率是6.868。
(3)若输入的是美元,则转换为人民币,结果保留2位小数。若输入的是人民币,则转换为美元,结果保留2位小数。否则,则输出"输入有误"。
s=str(input('请输入货币值($开始表示美元,或¥开始表示人民币):'))
if s[0]=='$':
print('¥'+str('{:.2f}'.format(eval(s[1:])*6.868)))
elif s[0]=='¥':
print('$'+str('{:.2f}'.format(eval(s[1:])*0.1456)))
else:
print('输入有误')
2、判断一个正整数是否与7有关。
s=str(input('请输入一个正整数:'))
a=s.count('7')
b=eval(s)%7
if(a!=0 or b==0):
print(s+'是与7相关的数')
else:
print(s+'是与7无关的数')
3、出租车计费系统。3-3.py。当输入行程的总里程时,输出乘客应该付的车费(结果保留1位小数)。
计费标准具体为:起步价10元/3千米;超过3千米以后,每千米的费用为1.2元;超过10千米以后,每千米的费用为1.5元。
km=eval(input('请输入公里数:'))
if(km<0):
print('公里数输入错误,重新输入!')
elif(km==0):
print('您需要支付0元车费')
elif(0<km<=3):
print('您需要支付10元车费')
elif(3<km<=10):
print('您需要支付'+str('{:.1f}'.format((km-3)*1.2+10))+'元车费')
else:
print('您需要支付'+str('{:.1f}'.format((km-10)*1.5+18.4))+'元车费')
1、数字形式转换。4-1.py。
输入一个正整数,输出改数字对应的中文字符表示。
0到9对应的中文字符分别是:零一二三四五六七八九
n=input()
s="零一二三四五六七八九"
for i in n:
print(s[eval(i)], end="")
2.输入猴子吃完桃子的天数,输出猴子第一天共摘了桃子的个数。
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第n天(<1<n<11)早上想再吃时,见只剩下一个桃子了。
n=eval(input('请输入猴子吃完桃子的天数:'))
sum=1
for i in range(n-1):
sum=(sum+1) * 2
print('猴子第一天共摘了'+str(sum)+'个桃子' )
3、输入两个正整数num1和num2(不超过500),求它们的最小公倍数并输出。
num1=eval(input('请输入第一个正整数:'))
num2=eval(input('请输入第二个正整数:'))
import math
a=num1*num2/math.gcd(num1,num2)
print(str(num1)+'和'+str(num2)+'的最小公倍数是'+'{:.0f}'.format(a))
4、无穷级数4/1 - 4/3 + 4/5 - 4/7 + ……的和是圆周率π,求圆周率π误差小于10的(-7)次方的时候停止计算,输出求得的圆周率π值是多少?
import math
PI=0
i=1
while abs(PI*4-math.pi)>=1e-7:
PI=PI+(-1)**(i+1)*(1/(2*i-1))
i+=1
print('PI=',PI*4)
5、输入一个正整数n(1<n<10),输出n行数字金字塔。
n=int(input('请输入金字塔的行数:'))
for i in range(1,n+1):
print(' '*(n-i)+(str(i)+' ')*i)
6、给定一个正整数max(>1),求[1,max]之间的所有与7无关的正整数的平方和。4-6.py。
与7相关的数:如果一个正整数,它是7的倍数,或者他的十进制表示法中某个位数上的数字为7,则称之为与7相关的数。
max=int(input('请输入一个正整数:'))
list=[]
for i in range(1,max+1):
if i % 7 != 0 and ("7"not in str(i)):
list.append(i)
sum=0
for j in list:
sum+= j*j
print(sum)
7、输入一个正整数max(>1),求[1,max]之间的所有完数,以空格分隔,并统计个数。
完数是指一个正整数的因子和(不包括它本身)等于它本身。
max = int(input('请输入一个正整数:'))
print('1~{}之间的完数有:'.format(max))
count=0
for i in range(1,max+1):
sum = 0
for j in range(1,i):
if i%j == 0:
sum += j
if sum == i:
count+=1
print(i,end=" ")
print('\n个数:%d'%count)
8、输入一个正整数max(>1),求[2,max]之间的所有素数,以空格分隔,并统计个数。
素数又称质数。一个大于1的自然数,除了1和它自身外,不能被其它整数整除的数叫做素数;否则称为合数。
max = int(input('请输入一个正整数:'))
print('1~{}之间的素数有:'.format(max))
count=0
for i in range(2,max):
for j in range(2,i):
if i%j == 0:
break
else:
print('{}'.format(i),end=" ")
count+=1
print('\n个数:{}'.format(count))
9、输入一个正整数max(>=100),求[100,max]之间的所有水仙花数,以空格分隔,并统计个数水仙花数是指一个n位数 (n≥3),它的每个位上的数字的n次幂之和等于它本身。
例如:153是一个“水仙花数”,因为:1的3次方+5的3次方+3的3次方=153
1634是一个“水仙花数”,因为:1的4次方+6的4次方+3的4次方+4的4次方=1634
max=int(input('请输入一个正整数:'))
print('100~{}之间的水仙花数有:'.format(max))
count=0
for i in range(100,max+1):
length=len(str(i))
sm=0
temp=i
for j in range(length):
sm+=(temp%10)**length
temp//=10
if sm==i:
print(i,end=" ")
count+=1
print('\n个数:{}'.format(count))
10、输入一个正整数n,输出斐波那契数列的前n项。每项占10位,左对齐,每行5个输出。斐波那契数列(Fibonacci sequence),指的是这样一个数列:1、1、2、3、5、8、13、21、34、……。这个数列从第3项开始,每一项都等于前两项之和。
n=int(input("请输入斐波那契数列的项数:"))
def fibonacci(n):
f1=1
f2=1
for i in range(1,n+1):
if i==1 or i==2:
yield i,1
continue
f1,f2=f2,f1+f2
yield i,f2
for i,x in fibonacci(n):
print(x,end=' '*(10-int(len(str(x)))))
1.请按照5-1-效果图.jpg所示,输入程序,输出多个正多边形。5-1.py。
2、参照第1题,进行改写。画笔颜色和填充颜色不同。5-2.py。输出如5-2-效果图.jpg所示。
3、请编写程序,实现输出不同颜色的圆及内切正多边形。5-3.py。输出如5-3-效果图.jpg所示。
【提示】circle(r,angle):绘制半径为r,弧度为angle的圆。
circle(r,360,n):绘制半径为r,弧度为360的圆形的内切正n边形。
4、请编写程序,实现输出不同颜色的多角星(五角星,七角星,九角星,十一角星,十三角星,十五角星)。5-4.py。输出如5-4-效果图.jpg所示。
5、正方形螺旋线的绘制。5-5.py。输出如5-5-效果图.jpg所示。