思路分析看不太懂,函数也不太会用,这样写出来的代码怎么用函数封装?能否封装一个函数作为参考。

来源:3-2 项目作业

qq_灰雁_3

2019-04-22 10:34:54

import sys
import random
file_name ="record.txt"
print("***************{}***************".format("欢迎进入数字猜猜猜小游戏"))
num1 = input("数字区间起始值:")
num2 = input("数字区间终止值:")
if num1 is num2:
    print("您输入的区间数字相同!!请重新启动程序")
    sys.exit()
else:
    print("所产生的随机数字区间为:['{}','{}']".format(num1,num2) )
guess_range = range(int(num1),int(num2) + 1)
random_number = random.randint(int(num1),int(num2))
guess_number = int(input("请输入您猜测的数字:"))
t = 1
while guess_number != random_number:
    if guess_number not in guess_range:
        print("对不起您输入的数字未在指定区间")
        with open('record.txt','a',encoding='utf-8') as f:
            f.write('{}:第{}次您猜测的数字为:{}'.format(datetime.now(),t,guess_number))
            f.write('\n')
        guess_number = int(input("请继续输入您猜测的数字:"))
        print("**********")
        t += 1
    elif guess_number > random_number:
        print("Higher than the answer")
        with open('record.txt','a',encoding='utf-8') as f:
            f.write('{}:第{}次您猜测的数字为:{}'.format(datetime.now(),t,guess_number))
            f.write('\n')
        guess_number = int(input("请继续输入您猜测的数字:"))
        print("**********")
        t += 1
    elif guess_number < random_number:
        print("Lower than the answer")
        with open('record.txt', 'a', encoding='utf-8') as f:
            f.write('{}:第{}次您猜测的数字为:{}'.format(datetime.now(), t, guess_number))
            f.write('\n')
        guess_number = int(input("请继续输入您猜测的数字:"))
        print("**********")
        t += 1
if guess_number == random_number:
    print("恭喜您!只用了{}次就赢得了游戏".format(t))


写回答

1回答

慕猿梦

2019-04-22

同学,你好,函数的作用实现代码重用,下图有三个相同的代码,我们可以将其封装成一个函数,在每一次需要该函数的地方,调用函数即可

http://img.mukewang.com/climg/5cbd2c280001c7ad08550534.jpg

解决方案:

http://img.mukewang.com/climg/5cbd2f840001b82210340722.jpg

同学,思路分析哪里看不懂呢?可以在问答区进行提问,会有老师帮你解决的,

如果我的回答解决了你的疑惑,欢迎采纳!!^_^ 祝学习愉快~~~~~

0

0 学习 · 8160 问题

查看课程