初学Python,但是只看语法的话明显不能够对语言进行理解,属于看过就忘的类型。所以现在开始写写小程序练练手,加深理解。
我使用的Python版本是3.4.3。
【程序1】
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
sum=0
num=[]
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if i!=j and j!=k and i!=k:
str1=""
str1+=str(i)
str1+=str(j)
str1+=str(k)
print(str1)
sum+=1
print(sum)
【程序2】
题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
I=input('Enter the profit:') #输入的是str
I=int(I) #转换成int
m=[1000000,600000,400000,200000,100000,0]
r=[0.01,0.015,0.03,0.05,0.075,0.1]
sum=0
for x in range(0,6):
if I>m[x]:
sum+=(I-m[x]*r[x])
I=m[x]
print(sum)
本来我用的是raw_input(),但是出现
name ‘raw_input’ is not defined
错误,查了一下发现是因为
版本3.0 中去掉了raw_input 函数,改用input,以后要注意
【程序3】
题目:输入三个整数x,y,z,请把这三个数由小到大输出。
num=[]
num.append(int(input("input X:")))
num.append(int(input("input Y:")))
num.append(int(input("input Z:")))
num.sort()
print(num)
Python中有自带的sort()可以进行从小到大的排序,如果想要从大到小排序的话,需要再加一个参数
num.sort(reverse = True)就可以了
【程序4】
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
import string
def main():
str1=input("input:")
l=0
s=0
d=0
o=0
for x in str1:
if x.isalpha():
l+=1
elif x.isspace():
s+=1
elif x.isdigit():
d+=1
else:
o+=1
print('letter: %d,space: %d,digit: %d,other: %d'%(l,s,d,o))
if __name__=='__main__':
main()
'''
题目:画圆【Tkinter模块】
'''
from tkinter import *
def main():
c = Canvas(width=600, height=600, bg='blue')
c.pack(expand=YES, fill=BOTH)
k = 1
j = 1
for i in range(0,26):
c.create_oval(310 - k,250 - k,310 + k,250 + k, width=1)
k += j
j += 0.3
mainloop()
if __name__=='__main__':
main()