【项目实战】:Python:简单的最优算法函数创建

版权声明:转载请联系博主。 https://blog.csdn.net/sunyaowu315/article/details/82978278

基于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')

猜你喜欢

转载自blog.csdn.net/sunyaowu315/article/details/82978278
今日推荐