《 笨方法学 Python 》_ 习题 35 - 37

习题 35:分支和函数
from sys import exit

def gold_room():
    print("This room if full of gold. How much do you take?")
    
    next = 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("Ncie, 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 = input("> ")
        
        if next == "take honey":
            dead("The bear looks at you then salps 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 = 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 = input("> ")
    
    if next == "left":
        bear_room()
    elif next == "right":
        cthulhu_room()
    else:
        dead("You stumble around the room until you starve.")
        
start()

exit(0) 可以中断某个程序,其中的数字参数则用来表示程序是否是遇到错误而中断的。exit(1) 表示发生了错误,exit(0)表示程序是正常退出的。


习题 36:设计和调试


习题 37:复习各种符号

关键字

• and
• del
• from
• not
• while
• as
• elif
• global
• or
• with
• assert
• else
• if
• pass
• yield
• break
• except
• import
• print
• class
• exec
• in
• raise
• continue
• finally
• is
• return
• def
• for
• lambda 
• try

数据类型

• True
• False
• None
• strings
• numbers
• floats
• lists

字符串转义序列

• \\
• \'
• \"
• \a
• \b
• \f
• \n
• \r
• \t
• \v

字符串格式化

• %d
• %i
• %o
• %u
• %x
• %X
• %e
• %E
• %f
• %F
• %g
• %G
• %c
• %r 
• %s
• %%

操作符

• +
• -
• *
• **
• /
• //
• %
• <
• >
• <=
• >=
• ==
• !=
• <>
• ( )
• [ ]
• { }
• @
• ,
• :
• .
• =
• ;
• +=
• -=
• *=
• /=
• //=
• %=
• **=
1. 编写一个程序,可以让用户输入一个数字,并输出其平方值。 ```python num = int(input("请输入一个数字:")) squared = num ** 2 print("该数字的平方值为:", squared) ``` 2. 编写一个程序,可以让用户输入一个数字,并输出其平方根值。 ```python import math num = float(input("请输入一个数字:")) sqrt_num = math.sqrt(num) print("该数字的平方根值为:", sqrt_num) ``` 3. 编写一个程序,可以让用户输入一个数字,判断该数字是否为奇数。 ```python num = int(input("请输入一个数字:")) if num % 2 == 1: print("该数字是奇数") else: print("该数字是偶数") ``` 4. 编写一个程序,可以生成一个1-100之间的随机整数,并让用户猜测该数字,直到猜中为止。 ```python import random random_num = random.randint(1, 100) guess_num = 0 while guess_num != random_num: guess_num = int(input("请猜一个1-100之间的整数:")) if guess_num < random_num: print("猜小了,请重新猜") elif guess_num > random_num: print("猜大了,请重新猜") print("恭喜你猜中了!") ``` 5. 编写一个程序,可以让用户输入一个字符串,判断该字符串是否为回文字符串。 ```python string = input("请输入一个字符串:") if string == string[::-1]: print("该字符串是回文字符串") else: print("该字符串不是回文字符串") ``` 6. 编写一个程序,可以生成一个包含10个随机整数的列表,并输出其中的最大值和最小值。 ```python import random num_list = [random.randint(1, 100) for i in range(10)] print("生成的随机整数列表为:", num_list) print("其中最大值为:", max(num_list)) print("其中最小值为:", min(num_list)) ``` 7. 编写一个程序,可以生成一个包含10个随机整数的列表,并将其中的偶数和奇数分别存储到两个不同的列表中。 ```python import random num_list = [random.randint(1, 100) for i in range(10)] odd_list = [] even_list = [] for num in num_list: if num % 2 == 0: even_list.append(num) else: odd_list.append(num) print("生成的随机整数列表为:", num_list) print("其中偶数列表为:", even_list) print("其中奇数列表为:", odd_list) ``` 8. 编写一个程序,可以让用户输入一个字符串,并输出其中每个字符出现的次数。 ```python string = input("请输入一个字符串:") char_dict = {} for char in string: if char in char_dict: char_dict[char] += 1 else: char_dict[char] = 1 print("该字符串中每个字符出现的次数为:", char_dict) ``` 9. 编写一个程序,可以生成一个包含10个随机整数的列表,并将其中的重复元素去除。 ```python import random num_list = [random.randint(1, 10) for i in range(10)] new_list = list(set(num_list)) print("生成的随机整数列表为:", num_list) print("去重后的列表为:", new_list) ``` 10. 编写一个程序,可以生成一个包含10个随机整数的列表,并将其中的元素按照从小到大的顺序排序。 ```python import random num_list = [random.randint(1, 100) for i in range(10)] sorted_list = sorted(num_list) print("生成的随机整数列表为:", num_list) print("排序后的列表为:", sorted_list) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值