开发者

Python之字典及while循环解读

目录
  • 1.字典涉及的知识点
    • 1.1 遍历字典所有的键-值对
    • 1.2 按顺序遍历字典所有的键
    • 1.3 考虑字典内元素是否重复
    • 1.4 嵌套字典列表
    • 1.5 在字典中存储列表
  • 2.用户输入
    • 2.1 input工作原理
    • 2.2 使用int()来获取数值输入
    • 2.3求模运算符
  • 3. while循环
    • 3.1 while 和 if 混合使用
    • 3.2 使用break退出循环
    • 3.3 使用continue
  • 总结

    1.字典涉及的知识点

    1.1 遍历字典所有的键-值对

    要点:用item()方法

      favorite_languages ={
        'jen':'python'
        'sarch':'C'
        'enward':'ruby'
        'phil':'python'
        }
      for name, language in favorite_languages.item():
          print(name.title() + "'s favorite language is " + languages.title() + ".")

    这里的name,以及language,都是变量,不用非要命名为key,value。

    这样命名可以方便用户理解。

    同时item()方法返回一个键-值对列表。

    1.2 按顺序遍历字典所有的键

    要点:按顺序用sorted()函数,用for语句遍历整个字典

      favorite_languages ={
        'jen':'python'
        'sarch':'C'
     php   'enward':'ruby'
        'phil':'python'
        }
        for name in sorted(favorite_languages.keys()):
            print(name.titile() + ",thank you for taking the poll.")

    这里的for语句类似于其他for语句,但对方法dictionary.keys()的结果调用了函数sorted()。

    这使得Python列出了字典中的所有键,并在遍历前对这个列表进行排序。

    1.3 考虑字典内元素是否重复

    要点:set()集合类似与列表,确保每个元素独一无二。

      favorite_languages ={
        'jen':'python'
        'sarch':'C'
        'enward':'ruby'
        'phil':'python'
        }
        print("The following languages have been metionted.")
        for language in set(favorite_languages.value()):
            print(languages.title())

    1.4 嵌套字典列表

    开发者_JAVA学习

    1.生成30个外星人;

    2.每个外星人包含颜色、生命值、和速度,并输出;

    3.前3个外星人的中,颜色为绿色的外星人,将其颜色更改为黄色;

    4.并将对应这些外星人的速度改为中速,生命值改为10。

    //创建一个用于存储外星人的空列表
      aliens = []
    //创建30个绿色的外星人
      for alien_number inQEgboK range(30):
          new_alien = ['color' = 'green','point' = 5, 'speed' = 'slow']
          aliens.append(new_alien)
      for aliens in range[:3]:
          if alien['color' = 'green']:
              alien['color'] = 'yellow'
              alien['point'] = 10
              alien['speed'] = 'medium'
    //显示前五个外星人
    for alien in aliens[:5]:
        print(alien)
    print("...")         

    1.5 在字典中存储列表

    //存储javascript所点披萨的信息
    pizza = {
        'crust': 'thick',
        'toppings' = ['mushrooms','extra cheese'],
        }
    //概述所点的披萨
    print("You order a " + pizza['crust'] + "-crust pizza " + "with the following toppings: ")
    for topping in pizza['toppings']:
        print("\t" + topping)    

    每当一个键需要关联多个值时,就可以在字典中嵌套一个列表。在字典中存储字典也是同理。

    2.用户输入

    2.1 input工作原理

    input()让程序暂停运行,等待用户输入一些文本,当用户按回车键后继续运行。

    输入的变量存储在message中,当print时将值呈现给用户。

    prompt = "If you tell us who you are ,we can personalize the messages you see."
    prompt += "\nWhat is your first name? "

    这是创建多行字符串的格式,运算符 += 在存储在prompt中的字符串在末尾加一个字符串。

    2.2 使用int()来获取数值输入

    age = input("How old are you?")
    print('age')
    '19'

    会看到输出的age的数字带有单引号,属于字符串类型。

    因此当此值与其他数值做比较的时候就会发生错误。

    因此使用 age = int(age)

    age = input("How old are you?")
    age = int(age)
    age >= 18
    True

    2.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("\nThe number " + str(number) + " is even. ")
    el编程se:
        print("\nThe number " + str(number) + " is odd. ")

    3. while循环

    3.1 while 和 if 混合使用

    for循环用于针对集合中的每个元素的一个代码块,而while循环则不断运行,直到指定的条件不满足为止。

    eg: 判断是否退出游戏

    prompt = "\nTell me something, and I Will repect it back you:"
    prompt += "\nEnter 'quit' to end the program. "
    message = " "
    if message != 'quit':
        message = input(prompt)
        print(message)    

    但是此方法的缺点是 会将quit也打印出来。

    因此 改进:

    prompt = "\nTell me something, and I Will repect it back you:"
    prompt += "\nEnter 'quit' to end the program. "
    message = " "
    while message != 'quit':
        message = input(prompt)
        if message != 'quit':
            print(message)    

    也可使用标志,这里我们名命此标志为acitve(可指定任何名字),来判断游戏是否运行:

    prompt = "\nTell me something, and I Will repect it back you:"
    prompt += "\nEnter 'quit' to end the program. "
    active = True
    while avtive:
         message = input(prompt)
         if message == 'quit':
             active = Flase
         androidelse:
              print(message)           

    此结果与上一个方法的结果相同。

    3.2 使用break退出循环

    prompt = "\nTell me something, and I Will repect it back you:"
    prompt += "\nEnter 'quit' to end the program. "
    while True:
         message = input(prompt)
         if message == 'quit':
            break
         else:
              print(message)           

    3.3 使用continue

    要返回循环的开头,并根据条件测试结果决定是否继续执行循环,可以使用continue语句,它不像break语句那样不再执行余下的代码并退出。

    current_number = 0
    while current_number < 10:
        current_number += 1
        if  current_number % 2 ==0:
            continue
        print(current_number)

    结果

    1

    3

    5

    7

    9

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新开发

    开发排行榜