zoukankan      html  css  js  c++  java
  • Python 用户输入&while循环 初学者笔记

    input()  获取用户输入(获取的都是字符串哦)  //函数input()让程序停止运行,等待用户输入一些文本。

    //不同于C的是可在input中添加用户提示,而scanf不具备这一特性。

    //提示超过一行时可将提示储存在一个变量中再传递给input()

    continue  忽略循环中余下代码,并返回到当前循环开头

    break  退出当前循环,执行当前循环外的代码

    一个小例子:

     1 prompt = "If you tell us who you are, we can pe rsonalize the messages you see."
     2 prompt += "
    What is your firstname: "
     3 active = True#控制循环
     4 while active:
     5     name = input(prompt)
     6     if name == 'quit':#控制循环
     7     active = False
     8     #可替换为break,结束循环
     9     #换为continue 则成了死循环
    10     else :
    11         print("Hello!" + name + "!")
    12 
    13 print('4')#测试是否跳出循环

    * Python 2.7中 使用 raw_input()  获取用户输入

    使用while循环来处理列表和字典

    一个简单的移动列表:

    1 unconfirmed_users =['alice', 'brain', 'cand', 'ace',]
    2 confirmed_users =[]
    3 while unconfirmed_users:
    4     current_user = unconfirmed_users.pop()#弹出并记录
    5     print("Verifying user: " + current_user.title())
    6     confirmed_users.append(current_user)#添加到新列表中
    7     print("
    The following users have been confirmed: ")
    8     for confirmed_user in confirmed_users:#显示已认证用户
    9         print(confirmed_user.title())

    删除列表中特定值的所有元素:

    1 while 'alice' in unconfirmed_users#只要unconfirmed_users列表中存在alice这个元素就一直循环
    2     unconfirmed_users.remove('alice')#删除unconfirmed_users列表中的alice元素

    使用用户输入填充字典:

     1 names = {}
     2 while 1:
     3     name = input("What's your name : ")
     4     if name == 'no':#强迫输入哈哈哈。
     5         continue
     6     day = input("How old are you: ")
     7     if day == 'no':
     8         continue
     9 #以上俩if可采取if-elif
    10     # if name == no:
    11         # continue
    12     # elif day == no:
    13         # continue
    14     names[name] = day#自动添加键值对
    15     #alien_0['x_position'] = 0 为字典添加键值对
    16     #alien_0['x_position'] =25 修改字典中的值
    17     repeat = input("Would you like to let an other person respond?(yes/no)")
    18     if repeat == 'no':
    19         break
    20 for a, b in names.items():#打印键值对
    21     print(a.title() + b)
  • 相关阅读:
    如何测试私有/受保护的方法? (译文)
    推荐一款vs.net中的版本号管理工具,
    ILMerge 合并多个程序集为一个.
    https://XXX/.xml Error:800C000E
    an easy way to debug windows service in .net
    提高安全性, 删除IIS中的response http header
    我的<程序人生>的一点看法.
    vs.net 2005 beta2 之痛
    ANT打包
    Linq to xml: XDocument对象
  • 原文地址:https://www.cnblogs.com/MR---Zhao/p/12325685.html
Copyright © 2011-2022 走看看