笨方法学python第一篇

(菜鸟自学python第一篇)

初来乍到

笨方法学python 第35节

之前没遇到什么问题困扰,这一节遇到了点小问题,修改过后的代码如下,主要问题是gold_room函数里,int函数,原码写的是how_much = int(choice),发现顺利输入之后,如果输入的是整数51,可以顺利运行,如果输入浮点数51.2,则会报错,,通过input输入的数字会以字符串的形式储存,而通过int读取这个字符串变量的时候,如果是符合int类型的整数则不会报错,对于字符串来说,即int() 适合读取表示整数的字符串,请教了大神,给出了一种解决方法,通过index索引小数点前的字符串长度,int里只取小数点前的字符,构成这个浮点数的整数部分,小数部分再用float表示;或者直接采用float函数,这样51读取后成为51.0。比较弱智的错误,自嘲一下吧,慢慢编程路~

from sys import exit

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

    choice = input(">")

    if '0' in choice or '1' in choice:
       ## how_much = int(choice[0:choice.index('.')])+float(choice[choice.index('.')+1:])/(10**(int(len(choice[choice.index('.')+1:]))))
        ## index 索引.之前的字符列表,51.1 用choice.index('.')等于2,choice[0:choice.index('.')]输出choice字符的0-1位,即51,choice[0:2]含首不含尾
        how_much = float(choice)
    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:
        choice = input(">")

        if choice == "take honey":
            dead("The bear looks at you then slaps your face off.")
        elif choice == "taunt bear" and not bear_moved:
            print("The bear has moved from the door.")
            print("You can go through it now.")
            bear_moved = True
        elif choice == "taunt bear" and bear_moved:
            dead("The bear gets pissed off and chews your leg off.")
        elif choice =="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?")

    choice = input(">")

    if "flee" in choice:
        start()
    elif "head" in choice:
        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?")

    choice = input(">")

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

start()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
办法学Python3》是一本教授Python编程基础的书籍,它分为七个部分,分别是打印与输入、文件操作、函数、数据容器与程序结构、面向对象的类、项目骨架与自动测试以及搭建简易的网站。这本书通过一系列的练习和示例,帮助读者逐步学习Python的基本语法和编程概念。 在第一部分《打印与输入》中,你将学习如何使用print函数打印输出内容,以及如何使用input函数获取用户的输入。 在第二部分《文件操作》中,你将学习如何打开、读取和写入文件,以及如何处理文件中的数据。 在第三部分《函数》中,你将学习如何定义和调用函数,以及如何传递参数和返回值。 在第四部分《数据容器与程序结构》中,你将学习如何使用列表、字典和元组等数据容器,以及如何使用条件语句和循环结构控制程序的执行流程。 在第五部分《面向对象的类》中,你将学习面向对象编程的基本概念,包括类的定义、对象的创建和方法的调用。 在第六部分《项目骨架与自动测试》中,你将学习如何使用项目骨架来组织你的代码,并学习如何编写自动化测试来验证代码的正确性。 在第七部分《搭建简易的网站》中,你将学习如何使用Python搭建一个简单的网站,并学习一些与网站开发相关的知识。 通过《办法学Python3》,你可以系统地学习Python编程的基础知识,并通过练习提升自己的编程能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值