Python之字典及while循环解读

 更新时间:2023年05月06日 09:35:20   作者:女王的空间  
这篇文章主要介绍了Python之字典及while循环解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

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'
    '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 嵌套字典列表

要求

1.生成30个外星人;

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

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

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

//创建一个用于存储外星人的空列表
  aliens = []
//创建30个绿色的外星人
  for alien_number in 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 在字典中存储列表

//存储所点披萨的信息
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. ")
else:
    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
     else:
          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

总结

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

相关文章

  • Python splitlines使用技巧

    Python splitlines使用技巧

    Python中的splitlines用来分割行。当传入的参数为True时,表示保留换行符 \n。通过下面的例子就很明白了
    2008-09-09
  • Numpy数组转置的实现

    Numpy数组转置的实现

    本文主要介绍了Numpy数组转置的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • windows下wxPython开发环境安装与配置方法

    windows下wxPython开发环境安装与配置方法

    这篇文章主要介绍了windows下wxPython开发环境安装与配置方法,需要的朋友可以参考下
    2014-06-06
  • matplotlib绘制两点间连线的几种方法实现

    matplotlib绘制两点间连线的几种方法实现

    本文主要介绍了matplotlib绘制两点间连线的几种方法实现,主要介绍了4种方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • 星球大战与Python之间的那些事

    星球大战与Python之间的那些事

    阔别十年时光,全球瞩目的第七部星球大战电影《原力觉醒》将于2016年1月9日在国内上映。它将重新燃起那段神秘的太空岁月与具有原力的宇宙时光。但是,星球大战和Python编程语言又有什么关系呢?
    2016-01-01
  • python中把嵌套的列表合并成一个列表方法总结

    python中把嵌套的列表合并成一个列表方法总结

    python中list这种数据结构很常用到,下面这篇文章主要给大家介绍了关于python中把嵌套的列表合并成一个列表方法的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • Python查找不限层级Json数据中某个key或者value的路径方式

    Python查找不限层级Json数据中某个key或者value的路径方式

    今天小编就为大家分享一篇Python查找不限层级Json数据中某个key或者value的路径方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Python telnet登陆功能实现代码

    Python telnet登陆功能实现代码

    这篇文章主要介绍了Python telnet登陆功能实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • python+matplotlib绘制简单的海豚(顶点和节点的操作)

    python+matplotlib绘制简单的海豚(顶点和节点的操作)

    这篇文章主要介绍了python+matplotlib绘制简单的海豚(顶点和节点的操作),具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • 详解Python中的多线程

    详解Python中的多线程

    这篇文章主要介绍了Python中的多线程,线程就是进程中一条执行程序的执行路径,一个程序至少有一条执行路径,本文给大家介绍的非常详细,需要的朋友可以参考下
    2022-06-06

最新评论