python猜数字游戏(Python猜数字游戏再来一局)
python猜数游戏:在程序中预设一个随机数?
import random
num = random.randint(0, 100) #随机数
N = 0 #访问次数
while True:
N += 1
x = int(input())
if x == num:
print("猜中了,用了{}次".format(N))
break
if x num:
print("太大了")
else:
print("太小了")
学python的乐趣
最近因为被要求整改,一个月也没什么课上,总感觉大学里不能只学专业知识,不然到毕业也不好找工作,于是也有了自学python 的想法,前几天也是开启了自学之路,发现了这语言挺有意思的。
首先就是学习了一些基础语言,在学习过程中因为之前学校要求学C语言,导致很多语法不一样,差点没有转换过来,好几次都把两者给混淆了,还好有视频教学,不然自己光看书还是比较吃力的。
慢慢地发现python还是很简洁的一款语言,相关语法也是通俗易懂,没有C语言那样复杂还要什么加括号,运行起来也很流畅,在学习了三天之后,自己根据所学的知识想了一个小游戏,猜数字游戏,虽然简单,但是吧最近学的语法都给用上了,在运行的那一瞬间,心里也乐开了花,想想自己也能做游戏了,虽然是比较低级的游戏,但也算一种自我鼓励吧。
这个游戏也是不断改进,现在好了很多,以前运行起来就是纯粹的猜数字,现在就丰富了,是不是很有意思!不喜勿喷,个人属于python自学者,还在不断完善中,有改进的还希望简友们多多指点!
利用while判断来制作一个猜数字的小游戏python
# while循环做的猜数游戏
import random
# 首先引入random包,随机生成一个数
result = random.randint(1, 10)
while True:
answer = int(input('请输入您猜的数:'))
if answer == result:
print('恭喜你答对了')
break
else:
print('猜错了')
运行结果如图:
用python实现猜数字
a?=?'1459'
for?x?in?range(7):
????j?=?0
????b?=?str(input('请输入4个数字:'))
????
????#?判断输入的是否为4位
????if?len(b)!=4:
????????print("输入有误")
????????break
????????
????#?判断输入的是否为数字
????try:
????????float(b)
????except:
????????print("输入有误")
????????break
????
????
????for?i?in?range(4):
????????if?b[i]==a[i]:
????????????j=j+1
????print(str(j)+'A'+str(4-j)+'B')
????if?j==4:
????????print("恭喜你赢了")
????????break
print("游戏结束")
用python写猜数字小游戏
核心代码给你,具体的功能还需要自己完善。
import?time,?random
class?GuessNum:
????def?__init__(self):
????????self._num?=?''
????????self.input_num?=?[]
????????self.count?=?1??????????????????????????????????????#猜对所用次数
????????self.sec?=?0???????????????????????????????????????????#猜对所用时间
????????self._generate_num()
????def?_generate_num(self):????????????????????????#产生不重复的四个数字
????????seq_zton?=?list(range(10))
????????for?i?in?range(0,?4):
????????????a?=?str(random.choice(seq_zton))???#选出一个数字
????????????self._num?+=?a
????????????seq_zton.remove(int(a))?????????????????#注意a的类型
????????self.sec?=?time.clock()??????????????????????????#开始计时
????def?check_answer(self):
????????return?self._num
????def?check_input(self):
????????num_pos,?num_value?=?0,?0???????????????#位置对和数值对的分别的个数
????????tmp?=?input("Please?input?the?number?you?guess(No?repetition),or?'c'?to?check?the?answer:")
????????if?tmp?==?'c':
????????????print(self.check_answer())
????????????tof?=?self.check_input()
????????????return?tof
????????elif?not?tmp.isalnum?or?not?len(tmp)?==?4:
????????????print("Wrong?format!")
????????????tof?=?self.check_input()????????????????#需要优化
????????????return?tof
????????self.input_num?=?list(tmp)
????????lst_temp?=?list(self._num)
????????if?self.input_num?==?lst_temp:??????????#猜对
????????????self.prt_vic()
????????????return?True
????????for?i?in?lst_temp:
????????????if?i?in?self.input_num:
????????????????if?lst_temp.index(i)?==?self.input_num.index(i):????????#位置也相同
????????????????????num_pos?+=?1
????????????????????num_value?+=?1
????????????????else:
????????????????????num_value?+=?1
????????self.prt_state(num_pos,?num_value)
????????self.count?+=?1
????????return?False
????def?prt_state(self,?num_pos,?num_value):
????????print("You've?got?%d?numbers?with?the?right?position?and?%d?numbers?with?the?right?value?only"?%?(num_pos,?num_value))
????def?prt_vic(self):
????????t?=?time.clock()
????????self.sec?=?t?-?self.sec
????????print("Congratulations!You?have?successfully?got?the?right?number!")
????????print("%d?times?and?%.2f?sec?in?total?to?get?the?right?answer"?%?(self.count,?self.sec))
gn?=?GuessNum()
while?True:
????ss?=?gn.check_input()
????if?ss:
????????b?=?input("Continue??y/n:")
????????if?b?==?'n':
????????????break
????????else:
????????????gn?=?GuessNum()
????????????continue