Python日记Day_6 用户输入和while循环

《Python编程从入门到实践》日记Day_6

第七章 用户输入和while循环

①input()和int()
input()将用户输入解读为字符串。int()则将这个字符串转化成了数值。只有数值之间可以比较大小。否则会报“类型错误”的提示。

name=input("Please input you name : ")
age=input("Please input you age : ")
message = 'Hello !'+age+"'s "+name+'.'
message += '\nWlecome to Python!'
print(message)
#
Please input you name : Sanmu
Please input you age : 19
Hello !19's Sanmu.
Wlecome to Python!

②while循环简介

  1. while + 判断语句
message = "Guess who I am ?"
name = ""
while name != 'sanmu':
    name = input(message)
    if name == 'sanmu':
        print("Yes,I'm sanmu.")
    elif name != 'sanmu':
        print("WRONG!")

使用标志

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

message = "Guess who I am ?"
logo=True
name = ""
while logo:
    name = input(message)
    if name == 'sanmu':
        print("Yes,i am sanmu.")
        logo = False
    elif name != 'sanmu':
        print("WRONG!")

这样做的好处非常明显。我们将active设成true,让程序最初处于活动状态,这样简化了while的语句。
同时在多个条件的循环中,可以分别在不同条件情况下设置真假值,来达到通过控制程序活动的目的。

  1. 使用break退出循环
message = "Guess who I am ?"
name = ""
while True:
    name = input(message)
    if name == 'sanmu':
        print("Yes,i am sanmu.")
        break
    elif name != 'sanmu':
        print("WRONG!")

在任何Python循环中都可以使用break语句,例如,可以使用break语句来退出遍历链表或字典的for循环

  1. continue语句在循环中的使用

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

num = 0
while num <= 10:
    num += 1
    if num %3 == 0:
        print(num)
        continue
3
6#如果是break
9#则只执行一次,即输出3

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

  1. 在列表之间移动元素
    while 列表名:
competitors = ["Jacklove",'Theshy',"Rookie",'Feaker']
print(competitors)
competitors_01 = ()
while competitors:
    competitors_01=competitors.pop()
    print(competitors_01)
print(competitors)
['Jacklove', 'Theshy', 'Rookie', 'Feaker']
Feaker
Rookie
Theshy
Jacklove
[]
  1. 删除列表中包含特殊值的所有元素
    while ‘xxxx’ in 列表名:
    (0.0缩进)列表名.remove(‘xxxx’)
competitors = ['Theshy',"Jacklove",'Theshy','Theshy',"Rookie",'Feaker','Theshy']
print(competitors)
competitors_01 = ()
while 'Theshy' in competitors:
#错误示范:while competitors:
    competitors.remove('Theshy')
print(competitors)
#正确输出:
['Theshy', 'Jacklove', 'Theshy', 'Theshy', 'Rookie', 'Feaker', 'Theshy']
['Jacklove', 'Rookie', 'Feaker']
#错误输出:
    competitors.remove('Theshy')
ValueError: list.remove(x): x not in list
['Theshy', 'Jacklove', 'Theshy', 'Theshy', 'Rookie', 'Feaker', 'Theshy']
  1. 用户输入填充字典
    我觉得,首先是要创建一个空的字典。其次在while循环中,要先input字典的一个键,再初始其值。
    做一个判断结束语句,标志。就行了
#录入选手的赛区
competitors = {
     }
logo = True
while logo:
    name = input("competitors's name is :")
    zone = input("He plays in :")
    competitors[name] = zone
    repeat = input("Do you want to input again?(YES/NO)")
    if repeat == 'NO':
        logo = False
print(competitors)
for key, value in competitors.items():
    print(key + ' plays in ' + value + '.')
competitors's name is :The shy
He plays in :lpl
Do you want to input again?(YES/NO)yes
competitors's name is :Feaker
He plays in :lkl
Do you want to input again?(YES/NO)NO
{
     'The shy': 'lpl', 'Feaker': 'lkl'}
The shy plays in lpl.
Feaker plays in lkl.

你可能感兴趣的:(python基础,python)