python的一些简单的程序代码,python编写简单的程序

大家好,给大家分享一下python的一些简单的程序代码,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!

1、阶乘
(1).迭代法

def cheng(x):
    result = 1
    for i in range(1,x+1):
        result = result * i
        
    return result
        
num = int(input("输入一个数字:"))

print(num,"的阶乘是:",cheng(num))
(2).递归法

def cheng(x):
    if x == 1:
        return 1
    else:
        return x * cheng(x-1)
    
num = int(input("输入一个数字:"))


print(num,"的阶乘是:",cheng(num))
2、汉诺塔
def hannoi(n,x,y,z):
    if n == 1:
        print(x,'-->',z)
    else:
        hannoi(n-1,x,z,y)
        print(x,'-->',z)
        hannoi(n-1,y,x,z)
        
num = int(input('please enter a number:'))

hannoi(num,'X','Y','Z')
3、文件操作:
题目:
1. 小甲鱼的对话单独保存为boy_*.txt的文件(去掉“小甲鱼:”)
2. 小客服的对话单独保存为girl_*.txt的文件(去掉“小客服:”)
3. 文件中总共有三段对话,分别保存为boy_1.txt, girl_1.txt,boy_2.txt, girl_2.txt, boy_3.txt, gril_3.txt共6个文件(提示:文件中不同的对话间已经使用“=================”分割)

文件内容:
小甲鱼:aaaaaaaaaaaaaaaaaaaaaaaa
小客服:bbbbbbbbbbbbbbbbbbbbbbbbbbb
小甲鱼:ccccccccccccccccccccccccc
小客服:dddddddddddddddddddddddddddd
================
小甲鱼:11111111111111111111
小客服:222222222222222222222222222
小甲鱼:333333333333333333333333
小客服:4444444444444444444444
================
小甲鱼://
小客服:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
小甲鱼:..........................
小客服:,,,,,,,,,,,,,,,,,,,,,,,,,,,
代码:
f = open("D:\\...\\111.txt")      #打开文件

#1、设置中间变量
boy = []
girl = []
num = 1

#2、循环文件内容,遇到特定条件后进行保存
for i in f:      #!循环文件的使用方式
    if i[:3] == '小甲鱼':
        boy.append(i.split(':')[1])      #把符合条件的内容放到列表
    
    if i[:3] == '小客服':
        girl.append(i.split(':')[1])

    if i[:3] == '===':
        boy_file = "boy_" + str(num) + ".txt"      #对要保存的文件名进行命名
        girl_file = "girl_" + str(num) + ".txt"
        
        b = open(boy_file,"w")      #以‘写入’方式打开文件
        b.writelines(boy)      #!是用writelines,不是write
        b.close()      #!写入后一定要保存
        print("boy_file saved")
        
        g = open(girl_file,"w")
        g.writelines(girl)
        g.close()
        print("girl_file saved")
      
        boy = []
        girl = []
        num += 1

#3、对最后一段文字需要单独处理
boy_file = "boy_" + str(num) + ".txt"      #num在前面循环结束前已经+1
girl_file = "girl_" + str(num) + ".txt"
        
b = open(boy_file,"w")
b.writelines(boy)
b.close()
print("last boy_file saved")

g = open(girl_file,"w")
g.writelines(girl)
g.close()
print("last girl_file saved")
  
print('byebye!')
4、编写一个程序,求 100~999 之间的所有水仙花数。
如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数python创意简单小作品。例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一个水仙花数

for i in range(100, 1000):
    sum = 0
    temp = i
    while temp:
        sum = sum + (temp%10) ** 3  #主程序
        temp //= 10         # 注意这里要使用地板除哦~
    if sum == i:
        print(i)
结果:
153
370
371
407
5、三色球问题
有红、黄、蓝三种颜色的求,其中红球 3 个,黄球 3 个,绿球 6 个。先将这 12 个球混合放在一个盒子中,从中任意摸出 8 个球,编程计算摸出球的各种颜色搭配。

print('red\tyellow\tblue')      #结果展示方法
for red in range(0, 4):
    for yellow in range(0, 4):
        for green in range(2, 7):
            if red + yellow + green == 8:
                # 注意,下边不是字符串拼接,因此不用“+”哦~
                print(red, '\t', yellow, '\t', green)  #结果展示方法
结果:
red     yellow  blue
0        2       6
0        3       5
1        1       6
1        2       5
1        3       4
2        0       6
2        1       5
2        2       4
2        3       3
3        0       5
3        1       4
3        2       3
3        3       2
6、判断字母、空格、数字
6.判断字母、空格、数字
7、编写一个函数,判断传入字符串参数是否为"回文联"(倒读 = 顺读)
我的方法:
def Hui(x):
    for i in range(len(x)):
        if x[i] == x[(len(x)-1)-i]:
            continue
        else:
            return 'not huiwenlian'
    return 'huiwenlian111'


str1 =input('give a string:')
print(Hui(str1))
答案:
def Hui(string):
    list1 = list(string)
    list2 = reversed(list1)          #用函数将列表倒装
    if list1 == list(list2):
        return 'HuiWen'
    else:
        return 'NotHuiWen'
    
print(Hui('上海自来水来自海上'))
8、递归法拆分数字
8.递归法拆分数字
9、利用字典创建通讯录程序
题目

以下为代码

print('''
      |--- 欢迎进入通讯录程序 ---|
      |--- 1:查询联系人资料 ---|
      |--- 2:插入新的联系人 ---|
      |--- 3:删除已有联系人 ---|
      |--- 4:退出通讯录程序 ---|
      ''')

txl = {}

def one():
    name = input('请输入联系人姓名:')
    if name in txl:
        print(name,':',txl.get(name))
        give_code()
    else:
        print('查无此人')
        give_code()

def two():
    name = input('请输入联系人姓名:')
    if name in txl:
        print('输入的姓名在通讯录中已存在 --->>  ',name,':',txl.get(name)) 
        change = input('是否修改用户资料(YES/NO):')
        if change == 'YES':
            number = input('请输入用户联系电话:')
            txl[name] = number
            print('修改成功!')
            give_code()
        else:
            give_code()         
    else:
        number = input('请输入用户联系电话:')
        txl[name] = number
        print('插入成功!') 
        give_code()
        
def three():
    name = input('请输入联系人姓名:')
    if name in txl:
        print('确认删除这条记录吗? --->>  ',name,':',txl.get(name)) 
        change = input('确认(YES/NO):')
        if change == 'YES':
            del txl[name]
            print('删除成功!')
            give_code()
        else:
            print('取消删除!')
            give_code()
    else:
        print('查无此人') 
        give_code()

def four():
    print('|--- 感谢使用通讯录程序 ---|')

def give_code():  
    code = input('请输入相关的指令代码:')
    if code == '1':
        one()
    elif code == '2':
        two()
    elif code == '3':
        three()
    elif code == '4':
        four()
    else:
        print('指令输入错误!!!')


give_code()

原文:http://www.hongchawenda.com/article/3741

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值