《Python项目2》之基于Python的算法函数创建

序言

    列举出对新手友好的题目

题目1:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的两位数?都是多少?

题目2:输入三个整数x,y,z,请把这三个数由小到大输出,可调用input()。(需要加判断:判断输入数据是否为数字)

  #####题目3:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。  

题目4:猴子吃桃问题

①猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 ②第二天早上又将剩下的桃子吃掉一半,又多吃了一个。 ③以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。 ④求第一天共摘了多少? 提示:采取逆向思维的方法,从后往前推断。  

题目5:猜数字问题,要求如下:

① 随机生成一个整数 ② 猜一个数字并输入 ③ 判断是大是小,直到猜正确 ④ 判断时间 提示:需要用time模块、random模块

###思考过后再查看参考答案

答案1: for x in range(1,5):      for y in range(1,5):           if x != y:              print(x,y)

答案2: num = input("请输入三个整数") result = [] print(type(num), num) for s in num:      if s.isdigit():           result.append(int(s))           print("%s是整数" %s) print(sorted(result))

答案3: st = "我爱中国 abcd 123 &*" num = [] zh = [] en = [] other = [] space = [] dic = {}

for s in st:      if s.isdigit():           num.append(s)      elif s.isspace():           space.append(s)      elif s >= u'\u4e00' and s <= u'\u9fa5':           zh.append(s) elif (s >= u'\u0041' and s <= u'\u005a') or (s >= u'\u0061' and s <= u'\u007a'):           en.append(s)      else:           other.append(s) print(type(len(num))) print("数字的个数:{}\n中文的个数:{}\n英文的个数:{}\n空格的个数:{}\n其他字符的个数:{}\n" .format(str(len(num)), str(len(zh)), str(len(en)), str(len(space)), str(len(other))))

答案4:

peach = 1 print("第10天早上想再吃时,见只剩下一个桃子了。") for i in range(9, 0, -1): # range(9, 0, -1) 倒序,从9到0,左闭右开      peach = (peach+1) * 2      print('第%i天吃之前还有%i个桃子' % (i, peach)) print('第1天共摘了%i个桃子' %peach)

答案5: import time import random

currentTime = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())) print(currentTime)

num = random.randint(0, 100) # .randint(x, y) 都为闭区间, # 总结:random.randint(0, 100),指随机生成0~100之间的值 print("随机数为:%i\n" %num)

guess = input("请输入一个数字\n")

while guess.isnumeric():      if float(guess) > num:          print("大了\n")          guess = input("请输入一个数字\n")      elif float(guess) < num:         print("小了\n")          guess = input("请输入一个数字\n")      else:         print("恭喜你答案正确")          break

#####最后?具体代码

转载于:https://juejin.im/post/5b0e69fb518825156f20b05d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值