Python教程

喵喵子的python心得二

本文主要是介绍喵喵子的python心得二,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

圆的周长和面积。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所示。

 

这篇关于喵喵子的python心得二的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!