python学习——如何判断输入是数字

笨办法学python第35节

该节主要是讲分支与函数,主要遇到的问题是python中如何判断输入是数字。

首先原代码如下:

from sys import exit

def gold_room():
    print "This room is full of gold. How much do you take?"

    next = raw_input("> ")
    if "0" in next or "1" in next:
        how_much = int(next)
    else:
        dead("Man, learn to type a number.")

    if how_much < 50:
        print "Nice, you‘re not greedy, you win!"
        exit(0)
    else:
        dead("You greedy bastard!")

def bear_room():
    print "There is a bear here."
    print "The bear has a bunch of honey."
    print "The fat bear is in front of another door."
    print "How are you going to move the bear?"
    bear_moved = False

    while True:
        next = raw_input("> ")

        if next == "take honey":
            dead("The bear looks at you then slaps your face off.")
        elif next == "taunt bear" and not bear_moved:
            print "The bear has moved from the door. You can go through it now."
            bear_moved = True
        elif next == "taunt bear" and bear_moved:
            dead("The bear gets pissed off and chews your leg off.")
        elif next == "open door" and bear_moved:
            gold_room()
        else:
            print "I got no idea what that means."

def cthulhu_room():
    print "Here you see the great evil Cthulhu."
    print "He, it, whatever stares at you and you go insane."
    print "Do you flee for your life or eat your head?"

    next = raw_input("> ")
    if "flee" in next:
        start()
    elif "head" in next:
        dead("Well that was tasty!")
    else:
        cthulhu_room()

def dead(why):
    print why, "Good job!"
    exit(0)

def start():
    print "You are in a dark room."
    print "There is a door to your right and left."
    print "Which one do you take?"

    next = raw_input("> ")

    if next == "left":
        bear_room()
    elif next == "right":
        cthulhu_room()
    else:
        dead("You stumble around the room until you starve.")

start()

将改代码的流程图画出来思路就很清晰(略)(哈哈哈哈想起来小时候看答案,答案“略”,sad)

其中,gold_room函数的一个判断语句“if "0" in next or "1" in next:”,这句话就只能使得输入的数字中有1或0的才可以进行how_much的判断,那么python中有没有一种方法可以直接判断输入是否是数字,有哒,就是可以用语句“if  next.isdigit():”判断,将前一句换成这一句之后再运行,可以得到运行结果如下(其中我把raw_input("> ")换成了raw_input("please input a number: ")):

注:

除了判断raw_input()输入的是否是数字,还可以判断是否是字符串,如下

"if next.isdigit():" 判断输入都是数字
"if next.isalnum():" 判断输入都是数字或者字母
"if next.isalpha():" 判断输入都是字母
"if next.islower():" 判断输入都是小写
"if next.isupper():" 判断输入都是大写
"if next.istitle():" 判断输入都是首字母大写,像标题
"if next.isspace():" 判断输入都是空白字符、\t、\n、\r

(其他的判断还没有试,有用到的话回来找)

时间: 2024-10-06 00:30:53

python学习——如何判断输入是数字的相关文章

猜数字游戏,判断输入的数字与系统产生的数字是否一致(Math.random()与if嵌套循环)

package com.summer.cn; import java.util.Scanner; public class Test041509 { /** * java 随机数 Math * Math java.lang.Math包 数值型 操作 * * 随机数 Math.random() [0,1) 随机数产生的是一个 大于等于0 小于1的数 * * 产生[0,5)之间随机整数 Math.random()*5 * * 10-15 [10,15]之间的随机整数? * int a=(int) (

python学习:判断字符串中字母数字空格的个数

'''输入一行字符,分别统计出包含英文字母.空格.数字和其它字符的个数. 统计出英文字母字符的个数 ''' # -*- coding: utf-8 -*- import re #正则表达式匹配 def isMathc(src,pat):     pattern = re.compile(pat)     result = re.match(pattern,src)     if result == None:         return 0     else:         return 1

Python3基础 if-else实例 判断输入的数字是否为8

镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ 1 code 1 aNumber=int(input("请输入一个整数:")) 2 if aNumber==8: 3 print("你输入了8") 4 else: 5 print("你输入的不是8") 2 show ----------------

Python 学习笔记(三)数字

Python 数字 int 整型  是正或负整数  2 long 长整型  整数最后是一个大写或小写的L   2L float  浮点型 由整数部分和小数部分组成   2.0 complex 复数 小结 1.用内建函数 type 可查看数据类型 1 >>> type(2) 2 <type 'int'> 3 >>> type(2L) 4 <type 'long'> 5 >>> type(2.0) 6 <type 'float

Python 学习笔记(四)数字(二)

Python Python2 中除法的问题 1 >>> 3 / 6 2 0 3 >>> 3.0 / 6 4 0.5 5 >>> 3.0 / 6.0 6 0.5 7 >>> 5 / 2 8 2 9 >>> 6.0 / 3 10 2.0 11 >>> 10.0 / 3 12 3.3333333333333335 13 >>> 0.2 +0.9 14 1.1 15 >>>

python学习笔记4-数据类型-数字

数字类型:定义变量是不要加引号,加了引号会当作字符串处理 又包括int(整形)范围在-2147483648到2147482647之间 long(长整型)如果强制将一个整形变成长整型可以在定义变量时在最后加上一个l或L float(浮点型)即带小数 complex(复数型)定义时在数字最后面加上j,常用于抛物线 要查看数据的类型可以使用tpye()函数 字符串型(str):定义时加上引号,双引号可单引号都可以,一般情况下没有区别.只有当定义的字符串中间有个单引号(或双引号)最外面的引号应使用双引号

Python学习之--用户输入以及运算

一. 用户输入:input 1. 函数input() 让程序暂停运行,等待用户输入一些文本. 2.使用int()将字符串转为数值 二.运算:+-*. 1.求模运算符 (%)将两个数相除并返回余数: 2. +-*/ 三.while循环 原文地址:https://www.cnblogs.com/anlia/p/11792976.html

判断输入的字符是不是数字

判断输入是数字,还是字符串 方法一: a = input("请输入一个要判断的字符: ") m = n = 0 for i in a: m += 1 if i in ['0','1','2','3','4','5','6','7','8','9']: n += 1 if m == n: print("您输入的是数字:", a) else: print("您输入的是字符串:", a) 方法二: myInput = input("请输入一个

python学习笔记(一):python简介和入门

最近重新开始学习python,之前也自学过一段时间python,对python还算有点了解,本次重新认识python,也算当写一个小小的教程.一.什么是python?python是一种面向对象.解释型的计算机语言,它的特点是语法简洁.优雅.简单易学.在1989诞生,Guido(龟叔)开发.这里的python并不是蟒蛇的意思,而是龟叔非常喜欢一部叫做<Monty Python飞行马戏团>的电视剧,所以以python命名(老外就是这么任性).二.解释型语言和编译型语言编译型语言就是先把写好的程序翻