猜数字4.0

二话不说上源码。

#! /usr/bin/python
"""--- Game V4 ---"""
import random
Secret = random.randint(0,50)
# 由random模块提供,生成一个随机整数
Times = 5
TypeAnswer = input("猜数字,0-50之间,有五次机会\n")
while not TypeAnswer.isdigit():                       
# not表示反转布尔值
# str.isdigit判断这个str中是否全为数字
# 类似的,同时还有isalnum判断所有字符都是数字或字母、isalpha判断全是字母
# islower判断全部小写字母、isupper判断全部大写字母、istitle判断全部首字母大写
# isspace判断全部为空白字符
    print("只能输入阿拉伯数字")
    TypeAnswer = input("重新输入一遍\n")
else:
    Guess =int(TypeAnswer)
    # 将str转为int,同样的,还有float、str两个函数
    while Guess != Secret:
        Times = Times - 1
        while not TypeAnswer.isdigit():
            print("只能输入阿拉伯数字")
            TypeAnswer = input("重新输入一遍\n")
        else:
            if  Times > 0:
                TimesRemin = str(Times)
                print("你还有"+ TimesRemin +"次机会")
                # 字符串的拼接
                if Guess > Secret:
                    print("大了")
                else:
                    print("小了")
                TypeAnswer = input("重新猜一遍\n")
                Guess = int(TypeAnswer)
                # 重新为TypeAnswer赋值
            else:
                print("机会用完了~")
                Answer = str(Secret)
                print("正确答案是" + Answer)
                break
    else:
        print("你答对了")



 

Say Hello to Python

三分钟热度的新对象……

Hello Python

Hello World太俗,来一句Hello Python。

>>> print("Hello Python!")
Hello Python!

“Hello Python!”是一个string。
那如果我要写:「”PHP”是最好的语言」呢?
可以使用\转义。

>>> print("\"PHP\"是最好的语言")
"PHP"是最好的语言

运算

>>> 3+5
8

>>> print(3+5*5+5-5)
28

这计算器好像还挺好用的。
甚至string都可以和int做乘法运算。

>>> print("a string\n"*3)
a string
a string
a string

不过除了乘法之外都是不行的,浮点数也不行。

>>> print("a string\n"+3)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: must be str, not int
>>> print("a string\n"-3)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for -: 'str' and 'int'
>>> print("a string\n"/3)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for /: 'str' and 'int'
>>> print("a string\n"*3.1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can't multiply sequence by non-int of type 'float'

不过仔细想想,对string做除了整数乘法的其他运算都感觉怪怪的……

干掉「没有找到数据库错误」

强迫症拯救世界!!!

近期yaourt更新(orpacman?)之后,每次执行yaourt -Syu之后都有一行恼人的提示:

尽管我知道这句话的原文是:「No database error have been found.」,也就是说数据库没有错误的意思,而且我也因为yaourt缺乏维护(参见Wiki(翻译很烂))早早换用了trizen,但总还是有喜欢用yaourt的强迫症患者忍受不了这个问题。
查看yaourt的源码可以看到(位于/lib/misc.sh),yaourt的这个动作实际上是调用了pacman -Dk来完成的。于是很自然地,可以想到两种解决办法。
继续阅读“干掉「没有找到数据库错误」”

关于KDE「文件搜索」的一些设置

Can you work-out-of-box???

自从某次系统更新之后,我的Dolphin文件搜索功能就一直不大正常,但我抱着能将就用就将就用的心态一直忍着。直到今天要改源码的时候才发现没有搜索这文件管理器真是不能用……
继续阅读“关于KDE「文件搜索」的一些设置”