【Python】简单的最优算法函数创建

本文通过五个具体实例,展示了Python编程在解决数学问题、字符统计、逻辑思考及游戏开发方面的应用。从基本的数字组合到复杂的猜数字游戏,每一道题都旨在提高读者的编程技巧和逻辑思维能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于Python的算法函数创建

  • 题目1:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的两位数?都是多少?
    该题目不用创建函数
n = 0  # 计数变量 
for i in range(1,5):
    for j in range(1,5):
        if i != j:
            n += 1
            print("满足条件的数字为:%i%i" %(i,j))
print('总共有%i个结果' %n)
  • 题目2:输入三个整数x,y,z,请把这三个数由小到大输出,可调用input()。(需要加判断:判断输入数据是否为数字)
    提示:判断是否为数字:.isdigit()
    该题目需要创建函数
def f(n):
    lst =[]
    for i in range(1,n+1):
        x = input('请输入第%i个数字:'%i)
        while x.isdigit() == False:
            x = input('输入内容不为数字,请重新输入第%i个数字:'%i)
        else:
            lst.append(float(x))
    return(sorted(lst))
f(4)  # 执行函数
  • 题目3:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
    提示:利用while语句,条件为输入的字符不为’\n’.
    该题目不需要创建函数
st = input('请输入一行字符:\n')
letters = 0
space = 0
digit = 0
others = 0
for c in st:
    if c.isalpha():
        letters += 1
    elif c.isspace():
        space += 1
    elif c.isdigit():
        digit += 1
    else:
        others += 1
print ('char = %d,space = %d,digit = %d,others = %d' % (letters,space,digit,others))
  • 题目4:猴子吃桃问题
    猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,
    第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
    以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少?
    提示:采取逆向思维的方法,从后往前推断。
    该题目不需要创建函数
n = 1
for day in range(9,0,-1):
    m = (n + 1) * 2
    n = m
print('第一天猴子共摘了%i个' %n)
  • 题目5:猜数字问题,要求如下:
    ① 随机生成一个整数
    ② 猜一个数字并输入
    ③ 判断是大是小,直到猜正确
    ④ 判断时间
    提示:需要用time模块、random模块
    该题目不需要创建函数
import time
import random
    
play_it = input('do you want to play it.(\'y\' or \'n\')')   # 询问是否参与游戏
while play_it == 'y':
    c = input('input a character:\n')   # 输入参与游戏人物
    i = random.randint(0,100)
    print( 'please input number you guess:\n')
    a = time.time()  # 记录开始时间
    guess = int(input('input your guess:\n'))
    while guess != i:
        if guess > i:
            print( 'please input a little smaller')
            guess = int(input('input your guess:\n'))
        else:
            print( 'please input a little bigger')
            guess = int(input('input your guess:\n'))
    b = time.time()  # 记录结束时间
    usedtime = b - a
    print( 'It took you %.2f seconds' % usedtime)
    if usedtime < 15:
        print( 'you are very clever!')
    elif usedtime < 25:
        print( 'you are normal!')
    else:
        print( 'you are stupid!')
    print( 'Congradulations')
    print( 'The number you guess is %d' % i)
    break
else:
    print('hehe')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值