Python零基础入门习题(四)输出程序本身

前言 

        Python语言简单易用,可读性强。在了解基础语法后,你就可以来尝试解决以下的题目。放心,本系列的文章都对新手非常友好。


一、输入一串字符,统计不同类型的字符个数

ans= input("字符") #输入
kg,sz,dx,xx,qt = 0,0,0,0,0
for i in range(len(ans)): #依次判断空格数字大写小写其它的个数
    if ord(ans[i])==32:     kg+=1
    elif ord(ans[i])>=48 and ord(ans[i])<=57:     sz+=1
    elif ord(ans[i])>=65 and ord(ans[i])<=90:     dx+=1
    elif ord(ans[i])>=97 and ord(ans[i])<=122:     xx+=1
    else:     qt+=1
print("空格{}个,数字{}个,大写{}个,小写{}个,其它{}个".format(kg,sz,dx,xx,qt)) #输出

二、输入两个整数,求出它们的最大公约数和最小公倍数

a=int(input("请输入一个整数"))#输入
b=int(input("请输入一个整数"))
if a<b:     a,b=b,a #a较大
x,y=a,b
r=1
while r!=0: #辗转相除法
    r=x%y
    x=y
    y=r
gcd=x #最大公约数
gdc=int(a*b/x) #最小公倍数
print("最大公约数{},最小公倍数{}".format(gcd,gdc)) #输出

三、画出正态分布随机数的柱状图

import random #导入库
import math
import matplotlib.pyplot as plt
num = list(range(100000))
for i in range (100):
num[i] = round(random.normalvariate(0, 1)) #正态分布的随机数
if num[i]<-9.5:	num[i]=-9
if num[i]>9.5:	num[i]=9
X=[-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9]
Y=[num.count(-9),num.count(-8),num.count(-7),num.count(-6),num.count(-5),num.count(-4),num.count(-3),num.count(-2),num.count(-1),num.count(0),num.count(1),num.count(2),num.count(3),num.count(4),num.count(5),num.count(6),num.count(7),num.count(8),num.count(9)]  
plt.bar(X,Y) #绘制柱状图
plt.xticks(ticks=(-9.5,-8.5,-7.5,-6.5,-5.5,-4.5,-3.5,-2.5,-1.5,0.5,0,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5)) #设置x轴刻度
plt.show()

四、输出程序本身

a = list(range(6))
a[0] = 'a = list(range(6))'
a[1] = 'print(a[0])'
a[2] = 'for i in range(6):'
a[3] = 'print("a["+str(i)+"] = "+chr(39)+a[i]+chr(39))'
a[4] = 'for i in range(1,5): print(a[i])'
a[5] = 'print(a[5], end = "")'
print(a[0])
for i in range(6):
    print("a["+str(i)+"] = "+chr(39)+a[i]+chr(39))
for i in range(1,5): print(a[i])
print(a[5], end = "")


总结

以上就是本文全部内容,你学会了吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值