小诺爷 发表于 2020-5-27 23:56:54

判断是否为int代码镶入

import random
daan = random.randint(1,2)
cishu = 3
temp = int(input("请输入一个数字:"))
if temp == daan:
    print("太强了 一次就猜中了")
while (temp != daan) and (cishu > 0):
    temp = int(input(" 重新猜吧"))
    cishu = cishu - 1
    if temp == daan:
      print("猜对了")
      cishu = cishu - 3
    else:#
      if temp > daan:#
         print("大了大了")
      else:
         print("小了小了")
      cishu = cishu - 1#
print("游戏结束不玩了")
我想在这里面镶入一个判断输入的是不是整数类型的代码不知道加在哪里

Stubborn 发表于 2020-5-28 00:03:27

int 一个浮点类型 会去掉浮点后值,这导致会和原来的值不想等。

先获得输入的浮点类型的str值,比对一下和int转换过的str值是否还相等

temp = int(input(" 重新猜吧"))改成

temp = input(" 重新猜吧")
if str(int(temp)) != temp:请称呼如整数

Twilight6 发表于 2020-5-28 00:04:27

本帖最后由 Twilight6 于 2020-5-28 00:11 编辑

不用判断,int 直接把你输入的值转为整型了 也就是整数

而且 random.randint随机到 的也永远是整数

想判断小数的话可以这样写:
while True:
    temp = input("请输入一个数字:")
    if '.' in temp:
      print('你输入的是浮点型的值,请你重新输入!')
      continue
    break
temp = int(temp)

完整代码:
import random
daan = random.randint(1,2)
cishu = 3
while True:
    temp = input("请输入一个数字:")
    if '.' in temp:
      print('你输入的是小数,请你重新输入!')
      continue
    break
temp = int(temp)
if temp == daan:
    print("太强了 一次就猜中了")
while (temp != daan) and (cishu > 0):
    while True:
      temp = input("重新猜吧,猜错了:")
      if '.' in temp:
            print('你输入的是小数,请你重新输入!')
            continue
      break
    temp = int(temp)
    cishu = cishu - 1
    if temp == daan:
      print("猜对了")
      cishu = cishu - 3
    else:#
      if temp > daan:#
         print("大了大了")
      else:
         print("小了小了")
      cishu = cishu - 1#
print("游戏结束不玩了")

Stubborn 发表于 2020-5-28 00:22:21

Twilight6 发表于 2020-5-28 00:04
不用判断,int 直接把你输入的值转为整型了 也就是整数

而且 random.randint随机到 的也永远是整数


只要能实现结果,不要看过程。反正这个不要求过程{:10_254:}

KevinHu 发表于 2020-5-28 08:18:23

Stubborn 发表于 2020-5-28 00:03
int 一个浮点类型 会去掉浮点后值,这导致会和原来的值不想等。

先获得输入的浮点类型的str值,比对一下 ...

这个方法好像不行……例如把'3.14'转成整数int()会报错……

可以这么改一下:
temp = input("重新猜吧")
if str(int(float(temp))) != temp:
    ...
页: [1]
查看完整版本: 判断是否为int代码镶入