为啥运行出错啊?
import random
import sys
from datetime import datetime
from idlelib.iomenu import encoding
def guide_page(guide_word):
'{1}{0}{1}'.format(guide_word,'*'*10)
return
def all_num(n):
return n.isdigit()
def num_legal(ls): #判定合法性
ls_int = list(map(int,ls))
if ls_int[0] == ls_int[1]:
return False
print("你输入的区间数字相同!!请重新启动程序。")
sys.exit()
elif ls_int[0] > ls_int[1]:
return 0
print("您输入的数字区间大小有误!!请重新启动程序。")
sys.exit()
else :
return 1
def set_final_num(i,j): #获得指定区间
final_ls = [i,j]
result = list(filter(all_num,final_ls))
while len(result) == 2 and num_legal(result) :
return random.randint(i,j+1)
else :
print("您输入的的为非数字字符,请重新启动。")
sys.exit()
def check_num_legal(num) : #是否位于指定区间
if num>i and num< j:
return
else :
print("您所输入的数字未在指定区间")
def write_record(times,value) : #记录
now_time = datetime.now()
with ("record.txt",'w',) as f:
f.write("{0}:您第{1}次所猜的数字为{2}\n".format(now_time,times,value))
def main(rand1): #主函数
temp = set_final_num(i,j)
number = 0
while True :
guess_number = int(input("请输入您所猜的整数"))
if guess_number in rand1 :
number += 1
write_record(number,guess_number)
if guess_number == temp :
print("恭喜您!只用了{}次就赢得了游戏".format(number))
break
elif guess_number < temp :
print("Lower than answer")
break
else :
print("Higher than the answer")
break
else :
print("对不起,你本次输入的数字未在指定区间")
continue
if __name__ =='__main__':
guide_word = "欢迎进入数字猜猜猜小游戏"
guide_page(guide_word)
i = input("数字区间的起始值:")
j = input("数字区间的终止值:")
rand_num = set_final_num(i,j)
print("所产生的随机数字区间为",[i,j])
main(rand_num)
正在回答
同学你好:
1.去掉encoding包
2.少了open
如果解决了你的疑惑,请采纳,祝学习愉快~
import random
import sys
from datetime import datetime
from idlelib.iomenu import encoding
def guide_page(guide_word):
'{1}{0}{1}'.format(guide_word,'*'*10)
return
def all_num(n):
return n.isdigit()
def num_legal(ls): #判定合法性
ls_int = list(map(int,ls))
if ls_int[0] == ls_int[1]:
return False
print("你输入的区间数字相同!!请重新启动程序。")
sys.exit()
elif ls_int[0] > ls_int[1]:
return 0
print("您输入的数字区间大小有误!!请重新启动程序。")
sys.exit()
else :
return 1
def set_final_num(i,j): #获得指定区间
final_ls = [i,j]
result = list(filter(all_num,final_ls))
while len(result) == 2 and num_legal(result) :
return random.randint(int(i),int(j))
else :
print("您输入的的为非数字字符,请重新启动。")
sys.exit()
def check_num_legal(num) : #是否位于指定区间
if num>i and num< j:
return
else :
print("您所输入的数字未在指定区间")
def write_record(times,value) : #记录
now_time = datetime.now()
with ("record.txt",'a+',encoding='utf-8') as f:
f.write("{0}:您第{1}次所猜的数字为{2}\n".format(now_time,times,value))
def main(rand1): #主函数
temp = rand1
number = 0
while True :
guess_number = int(input("请输入您所猜的整数"))
if guess_number >= int(i) and guess_number <= int(j) :
number += 1
write_record(number,guess_number)
if guess_number == temp :
print("恭喜您!只用了{}次就赢得了游戏".format(number))
break
elif guess_number < temp :
print("Lower than answer")
break
else :
print("Higher than the answer")
break
else :
print("对不起,你本次输入的数字未在指定区间")
continue
if __name__ =='__main__':
guide_word = "欢迎进入数字猜猜猜小游戏"
guide_page(guide_word)
i = input("数字区间的起始值:")
j = input("数字区间的终止值:")
rand_num = set_final_num(i,j)
print("所产生的随机数字区间为",[i,j])
main(rand_num)
- 参与学习 人
- 提交作业 2727 份
- 解答问题 8160 个
想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星