Python tips

  1. input()、len()

因为 input()函数总是返回一个字符串(即使用户输入的是数字),所以使用 int(myAge)返回字符串的整型值。
这个整型值随后在表达式 int(myAge) + 1 中与 1 相加。
相加的结果传递给 str()函数:str(int(myAge) + 1)。然后,返回的字符串与字符串'You will be '和' in a year.'连接,求值为一个更长的字符串。

# This program says hello and asks for my name.
print('Hello world!')
print('What is your name?')
myName = input()               # input()函数等待用户在键盘上输入一些文本,并按下回车键。将用户输入的文本即字符串赋值给变量myName
print('It is good to meet you,' + myName)
print('The length of your name is:')
print(len(myName))             # 向len()函数传递字符串或包含字符串的变量,求字符的个数,为一个整数
print('What is your age')
myAge = input()
print('You will be ' + str(int(myAge) + 1) + ' in a year.')
  1. if语句
print('input you name')
name=input()
print('input you name')
age=input()
if name == 'Alice':
    print('Hi,Alice.')
elif int(age) < 12:
    print('You are not Alice,Kiddo.')
elif int(age) > 200:
    print('Unlike you,Alice is not an undead,immortal vampire.')
elif int(age) > 100:
    print('You are not Alice,grannie.')
  1. random模块

import random
for i in range(5):
print(random.randint(1,10))

range()表示随机取值:0-4,不超过5的值。
random.randint()函数调用求值为传递给它的两个整数之间的一个随机整数;
因为 randint()属于 random 模块,必须在函数名称之前先加上 random.,告诉 python 在random 模块中寻找这个函数

#使用sys.exit()提前结束程序
import sys
while True:
    print('Type exit to exit.')
    response = input()
    if response == 'exit':
        sys.exit()
    print('You typed ' + response + '.')
  1. def 定义函数

def 定义一个叫hello的函数,def 语句后的代码块为函数体。
在函数调用时执行,不是在函数第一次定义执行hello()为函数调用,就是函数名后跟括号,或在括号之间有一些参数。
执行到函数的末尾,就回到调用函数那行,继续向下执行代码。

def hello():
print('Howdy!')
print('Hoell')
print('Hello there.')

hello()
hello()


如果调用print()或len()函数,会传一些值,称为参数;
hello()函数定义,有一个为name()的变元(即变量,当函数被调用,参数就存放其中),保存在变元里的值,在函数返回后就丢失了。
如hello('Bob')之后添加 print(name),程序会报NameError,因为没有名为 name 的变量。
在函数调用 hello('Bob')返回后,这个变量被销毁了,所以 print(name)会引用一个不存在的变量 name。
这类似于程序结束时,程序中的变量会丢弃'''

def hello(name):
print('Hello ' + name)
hello('Alice')
hello('Bob')


r = random.randint(1, 9)
fortune = getAnswer(r)
print(fortune)
以上三行可以使用一行表示
print(getAnswer(random.randint(1, 9)))

在这个程序开始时,Python 首先导入 random 模块。然后 getAnswer()函数被定义。因为函数是被定义(而不是被调用),所以执行会跳过其中的代码。
接下来,random.randint()函数被调用,带两个参数,1 和 9。它求值为 1 和 9 之间的一个随机整数(包括 1 和 9),这个值被存在一个名为 r 的变量中。
getAnswer()函数被调用,以 r 作为参数。程序执行转移到 getAnswer()函数的顶部,r 的值被保存到名为 answerNumber 的变元中。
然后,根据 answerNumber中的值,函数返回许多可能字符串中的一个。程序执行返回到程序底部的代码行,即原来调用 getAnswer()的地方。
返回的字符串被赋给一个名为 fortune 变量,然后它又被传递给 print()调用,并被打印在屏幕上。
请注意,因为可以将返回值作为参数传递给另一个函数调用,所以你可以将下面 3 行代码
r = random.randint(1, 9)
fortune = getAnswer(r)
print(fortune)
缩写成一行等价的代码:
print(getAnswer(random.randint(1, 9)))
记住,表达式是值和操作符的组合。函数调用可以用在表达式中,因为它求值为它的返回值。'''

# 一般,函数调用求值的结果,称为函数的“返回值”
# return,用def语句创建函数时,可以用return语句指定应该返回什么值
import random

def getAnswer(answerNumber):
    if answerNumber == 1: 
       return 'It is certain' 
    elif answerNumber == 2:
       return 'It is decidedly so' 
    elif answerNumber == 3:
       return 'Yes' 
    elif answerNumber == 4:
       return 'Reply hazy try again' 
    elif answerNumber == 5:
       return 'Ask again later' 
    elif answerNumber == 6:
       return 'Concentrate and ask again' 
    elif answerNumber == 7: 
       return 'My reply is no' 
    elif answerNumber == 8:
       return 'Outlook not so good' 
    elif answerNumber == 9:
       return 'Very doubtful' 
  1. try except

将可能出错的语句被放在 try 子句中。
如果错误发生,程序执行就转到接下来的except子句开始处。运行那些代码后执行照常继续'''

def spam(divideBY):
try:
return 42 / divideBY
except ZeroDivisionError:
print('Error: Invalid srgument.')

print(spam(2))
print(spam(12))
print(spam(0))
print(spam(1))

# 如果是以下场景
def spam(divideBY):
    return 42 / divideBY
try:
    print(spam(2))
    print(spam(12))
    print(spam(0))
    print(spam(1))

except ZeroDivisionError:
    print('Error: Invalid srgument.')

'''结果是:
21.0
3.5
Error: Invalid srgument.
>>>
'''
# print(spam(1))从未被执行是因为,一旦执行跳到except子句的代码,就不会回到try子句。它会继续照常向下执行。

  1. guessnumber game
# This is a guess the numner game.
import random
secretNumber = random.randint(1, 20)
print('I am thinking of number vetween 1 and 20.')

#Ask the player to guess 6 times.
for guessesTaken in range(1, 7):
    print('Take a guess.')
    guess = int(input())

    if guess < secretNumber:
        print('Your guess is too low.')
    elif guess > secretNumber:
        print('Your guess is too high.')
    else:
        break # this is condition is correct guess!
if guess == secretNumber:
    print('Good job! You guessed my number in ' + str(guessesTaken) + ' guesses!')
else:
    print('Nope. The number I was thinking of was ' + str(secretNumber))
posted @ 2021-11-11 16:29  Loooog  阅读(76)  评论(0)    收藏  举报