zoukankan      html  css  js  c++  java
  • Python编程从入门到实践:学习笔记6(第7章:用户输入和while循环)

    1、函数input()接受一个参数:即要向用户显示的提示或说明。有时候提示可能超过一行,在这种情况下,可将提示存储在一个变量中,再将该变量传递给函数input()。这样使 得input()语句非常清晰。

    prompt = "If you tell us who you are,we can personalize the message you see."
    prompt += "
    What is your first name? "
    
    name = input(prompt)
    print("
    Hello," + name.title() + "!")

    输出结果:

    If you tell us who you are,we can personalize the message you see.
    What is your first name? juzi
    
    Hello,Juzi!

    2、使用函数input()时,Python将用户输入解读为字符串。函数int(),它让Python将输入视为数值。

       在Python2.7中获取输入是使用raw_input()

    3、求模运算符(%),将两个数相除并返回余数。

       判断一个数是奇数还是偶数:

    number = input("Enter a number , and I'll tell you if it's even or odd: ")
    number = int(number)
    
    if number % 2 ==0:
        print("
    The number "+str(number)+" is even.")
    else:
        print("
    The number "+str(number)+" is odd.")

    测试输出:

    Enter a number , and I'll tell you if it's even or odd: 29
    
    The number 29 is odd.

    4、使用while循环让程序在用户愿意时不断地运行。

    prompt = "
    Tell me something, and I will repeat it back to you: "
    prompt += "
    Enter 'quit' to end the program."
    message = ""
    while message != 'quit':
        message = input(prompt)
        print(message)

    测试:

    Tell me something, and I will repeat it back to you: 
    Enter 'quit' to end the program.hello everyone!
    hello everyone!
    
    Tell me something, and I will repeat it back to you: 
    Enter 'quit' to end the program.quit!
    quit!
    
    Tell me something, and I will repeat it back to you: 
    Enter 'quit' to end the program.quit
    quit

       经过测试发现,当用户想要结束时,’quit’也被打印出来。为了解决这个问题,需要使用一个if测试:

    prompt = "
    Tell me something, and I will repeat it back to you: "
    prompt += "
    Enter 'quit' to end the program."
    message = ""
    while message != 'quit':
        message = input(prompt)
        if message != 'quit':
            print(message)

    测试:

    Tell me something, and I will repeat it back to you: 
    Enter 'quit' to end the program.quit
    
    Process finished with exit code 0

       在要求很多条件都满足才继续运行的程序中,可以定义一个变量,可用于判断整个程序是否处于活动状态。这个变量被称为标志

    prompt = "
    Tell me something, and I will repeat it back to you: "
    prompt += "
    Enter 'quit' to end the program."
    
    active = True
    while active:
        message = input(prompt)
    
        if message == 'quit':
            active = False
        else:
            print(message)

    5、要立即退出while循环,不再运行循环余下的代码,也不管条件测试的结果如何,可使用break语句。在任何Python循环中都可使用break语句。

       要返回到循环开头,并根据条件测试结果决定是否继续执行循环,可使用continue语句。

       如果程序陷入无限循环,可按Ctrl+C,也可以关闭显示程序输出的终端窗口。(笔者用的是pycharm,发现Ctrl+C不可以终止程序,可以用Crtl+f2

    6、isdigit()判断是否为整数。

    active =True
    while active:
        age = input("how old are you? ")
        if age.isdigit():
            age = int(age)
            if age<3:
                print("free")
            elif age<=12:
                print ("$10")
            elif age <100:
                print ("$15")
        else:
            active=False

    必须按要求输入,输入其他的都会跳出循环。

    how old are you? 23
    $15
    how old are you? 
    
    Process finished with exit code 0

    7、假设有一个列表,其中包含新注册但未验证的网站用户;想要验证后将他们移到另一个已验证用户列表。可以使用一个while循环,在验证用户的同时将其从未验证用户中提取出来,再将其加入到另一个已验证用户列表中。代码类似于下面这样:

    # 首先,创建一个待验证用户列表
    # 和一个用于存储已验证用户的空列表
    unconfirmed_users = ['alice','brian','candace']
    confirmed_users = []
    
    # 验证每个用户,直到没有未验证用户为止
    # 将每个经过验证的列表都移到已验证用户列表中
    while unconfirmed_users:
        current_user = unconfirmed_users.pop()
        print("Verifying user:" + current_user.title())
        confirmed_users.append(current_user)
    
    #显示所有已验证的用户
    print("
    The following users have been condined:")
    for confirmed_user in confirmed_users:
        print(confirmed_user.title())

    输出结果:

    Verifying user:Candace
    Verifying user:Brian
    Verifying user:Alice
    
    The following users have been condined:
    Candace
    Brian
    Alice

    8、使用用户输入来填充字典。

    responses = {}
    #设置一个标志,指出调查是否继续
    polling_active = True
    
    while polling_active:
        # 提示输入被调查者的名字和回答
        name = input("
    What is your name? ")
        response = input("Which mountion would you like to climb someday? ")
    
        #将答卷存储在字典中
        responses[name]=response
    
        #看看是否还有人要参与调查
        repeat = input("Would you like to let another person respond?(yes/no) ")
        if repeat == 'no':
            polling_active = False
    
    #调查结束,显示结果
    print("
    - - - Poll Results - - -")
    for name,response in responses.items():
        print(name + " would like to climb "+response + ".")

    输出测试:

    What is your name? Eric
    Which mountion would you like to climb someday? Denali
    Would you like to let another person respond?(yes/no) yes
    
    What is your name? Lynn
    Which mountion would you like to climb someday? Devil's Thumb
    Would you like to let another person respond?(yes/no) no
    
    - - - Poll Results - - -
    Eric would like to climb Denali.
    Lynn would like to climb Devil's Thumb.
  • 相关阅读:
    堆得简单介绍以及堆排序
    从交换两个变量的值来看程序员的“奇技淫巧”
    两道有意思的题目
    mac上使用brew
    安全考虑,binlog_row_image建议尽量使用FULL
    Python3.6新特性
    自动化测试基础篇--Selenium浏览器操作
    自动化测试基础篇--Selenium Xpath定位
    自动化测试基础篇--Selenium元素定位
    自动化测试基础篇--Selenium Python环境搭建
  • 原文地址:https://www.cnblogs.com/cathycheng/p/11189611.html
Copyright © 2011-2022 走看看