版权声明:转载请联系博主。 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')