Ⅰ python菜鸟问题,如下图,为何答案是永不停止呢当“guess=5.0"时,while 循环体内的 abs(guess**2-x)不
测试一下就知道,python的浮点运算精度上有诡异的“bug”,加的是0.1,但很有可能print出来变成0.09999999...,导致刚好偏差了一点
就算你说的当“guess=5.0"时,if不再满足,但不满足后,guess也不会再加,那么guess就永远小于25,while不会停止
改成下面就可以停止
whileguess<=x:
ifabs(guess**2-x)<epsilon:
break
guess+=step
Ⅱ python初学者,为什么if guess后面不能跟字符串,怎么才能跟呢,谢谢,我这么写运行后输入
有两个问题:
一、if 后面要加冒号
二、guess=int(temp)语句是错的,因为你要判断的是字符串,不能化为整数
修改如的代码如下:
print("放马过来")
temp=input("百家姓第一个是啥")
if temp=="周":
print("正确")
else:
printf("不对")
print("游戏结束")
Ⅲ guess = int(temp),在python是什么意思
int()是强制类型转换的意思,操作方法如下:
1、首先在python编辑器中,直接输入【】int()】,会得到0。
Ⅳ python3.7版本guess = int(temp) ValueError: invalid literal for int() with base 10: '' 怎么办啊
temp取值应该是空字符串才会报这个错,你看下temp的取值
Ⅳ Python中1、为什么guess要赋值为0
开始guess不是0也可以啊。只要值不在1到10之间就可以了。假如你用了1,随机数出来也是1,那么就不用猜了。while循环都不会执行。times放在前面后面都可以。两个条件要同时满足才会进入到while中。
Ⅵ 初学python,被作业难到了,做一个猜数游戏,给十次机会,写完运行不出来,求大佬看看
import random
target=random.randint(1,1000)
count=0
while True:
try:
guess=eval(input("猜猜这个数是什么,一共有10次机会哦"))
except:
continue
print("请输入一个整数")
if guess<target:
print("猜小了")
count=+1
elif guess>target:
print("猜大了")
count=+1
elif count==10:
print("机会用完了,欢迎下次再来!")
break
else:
print("猜对了,正确答案为",target,"/n","一共猜了{}次".format(count))
break
Ⅶ 用python写猜数字小游戏
核心代码给你,具体的功能还需要自己完善。
importtime,random
classGuessNum:
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))
foriinrange(0,4):
a=str(random.choice(seq_zton))#选出一个数字
self._num+=a
seq_zton.remove(int(a))#注意a的类型
self.sec=time.clock()#开始计时
defcheck_answer(self):
returnself._num
defcheck_input(self):
num_pos,num_value=0,0#位置对和数值对的分别的个数
tmp=input("Pleaseinputthenumberyouguess(Norepetition),or'c'tochecktheanswer:")
iftmp=='c':
print(self.check_answer())
tof=self.check_input()
returntof
elifnottmp.isalnumornotlen(tmp)==4:
print("Wrongformat!")
tof=self.check_input()#需要优化
returntof
self.input_num=list(tmp)
lst_temp=list(self._num)
ifself.input_num==lst_temp:#猜对
self.prt_vic()
returnTrue
foriinlst_temp:
ifiinself.input_num:
iflst_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
returnFalse
defprt_state(self,num_pos,num_value):
print("You'vegot%%dnumberswiththerightvalueonly"%(num_pos,num_value))
defprt_vic(self):
t=time.clock()
self.sec=t-self.sec
print("Congratulations!!")
print("%dtimesand%."%(self.count,self.sec))
gn=GuessNum()
whileTrue:
ss=gn.check_input()
ifss:
b=input("Continue?y/n:")
ifb=='n':
break
else:
gn=GuessNum()
continue
Ⅷ python 里 guess = int(temp报错
#
-*-
coding:
cp936
-*-temp=input("猜猜数字")guess=int(temp)if
guess==8:
print"你是蛔虫吗"
print"哼,中了"else:
print"错了,"
print"游戏结束!"input()
和int()都是内建函数,带括号。
Ⅸ python初学者问题,尝试后无法解决,请大神解释
"""
__________运行环境python3.5,结果正常_______
"""
temp=input('不妨猜一下,我在想什么数字?')
guess=int(temp)
ifguess==8:
print('哇,这么厉害!')
print('猜中也没有奖!')
else:
print('猜错啦!我想的是8!')
print('游戏结束!')
Ⅹ Python猜数字游戏为什么显示错误次数
你的猜数字游戏的Python程序中,记录所猜次数的变量guessesTaken,仅赋了一个初始值0,程序中并没改变其值,所以错误次数一直是0,你只需要在for-i循环中,guess=int(guess)下面, if guess<number :上面,加一句guessesTaken=guessesTaken+1 就会是正确的用了几次机会 猜中数字的数值了.
注意 这里用了几次机会猜中数字的数值比猜错的次数多一,所以如果你要打印猜错次数,只需要打印guessesTaken-1 就行了.