Python学习笔记(6)-用户输入和while循环

函数input()

函数input()可以让程序暂停运行,等待用户输入一些文本,可将这些输入信息存储在变量中进行其他逻辑操作
代码:

message = "你好,请输入你的名字,我将重复你的名字:"
print(input(message))

结果:

你好,请输入你的名字,我将重复你的名字:葫芦娃
葫芦娃

可以使用int()来获取数值的输入,因为在input输入的时候,python解读的是字符串,当输入数值的时候,会当做字符串处理,所以只用来显示是可以的,但是用来数学运算,则会报错,需要用int()转换成数值后再计算。
代码:

message = "请输入您的年龄"
age = input(message)
print("您的年龄是:" + age)
print(age + 1) #此句会报错

结果:

请输入您的年龄20
您的年龄是:20  
Traceback (most recent call last):
  File "E:/Study/python3/python_work/test/review/mytest.py", line 4, in <module>
    print(age + 1)
TypeError: Can't convert 'int' object to str implicitly

while循环

类似Java,→_→,这语言基础基本都一样,就用法不一样,多练习即可。
代码:

count = 0
while count < 5:  #注意此处冒号,不要忘了.
    count += 1    
    print(count)  #相同缩进的即是相同代码块

结果:

1
2
3
4
5

可使用标志位(一般都是boolean类型)来控制while循环的退出

active = True
prompt = "请输入一些信息,如果输入退出,则退出本程序"
while active:
    message = input(prompt)

    if message == '退出':
        active = False
    else:
        print(message)

结果:

请输入一些信息,如果输入退出,则退出本程序:你好
你好
请输入一些信息,如果输入退出,则退出本程序:退出  

使用break退出循环

break,结束循环
代码:

prompt = "请输入一些信息,如果输入退出,则退出本程序"
while True:  #一直执行的循环
    message = input(prompt)
    if message == '退出':
        break  #停止当前循环,直接退出,注意和标志位退出不同,标志位还会继续执行下边的语句,直到下一次循环开始前退出
    else:
        print(message)

在循环中使用continue

continue,结束当前循环,进入下一个循环继续执行
代码:

#打印10以内的奇数
count = 0
while count < 10:
    count += 1
    if count % 2 == 0: #偶数时跳过,不打印,继续下一次循环
        continue
    else:
        print(count)

结果:

1
3
5
7
9

while循环处理列表和字典

在列表之间移动元素

代码:

# 首先,创建一个待验证用户列表,一个存储验证过用户的空列表
unconfirmed_users = ['dawa', 'erwa', 'sanwa']
confirmed_users = []

# 验证每个用户,并把验证过的存储到空列表中
while unconfirmed_users:
    user = unconfirmed_users.pop()  #弹出需要验证的用户(没有参数时,默认弹出最后一个)
    confirmed_users.append(user)    #添加到已验证用户列表

print(unconfirmed_users)
print(confirmed_users)

结果:

[]
['sanwa', 'erwa', 'dawa']

删除包含特定值的所有元素

删除列表中的元素可以用remove函数,放在遍历列表的循环中,即可删除列表中所有相同的值。
代码:

pets = ['dog', 'cat', 'dog', 'parrot', 'fox', 'cat']
while 'cat' in pets: #判断列表是否存在cat,如果存在就一直循环,直到遍历完整个列表
    pets.remove('cat')

print(pets)

结果:

['dog', 'dog', 'parrot', 'fox']

使用用户输入来填充字典

可以把input放入循环中来收集信息,并存储到字典中

# 创建一个空字典,用于存储收集的信息(不同人的不同信息)
info = {}

while True:
    # 输入信息
    name = input("请输入你的名字:")
    age = input("请输入你的年龄:")
    # 存储在字典中
    info[name] = age
    # 询问是否有输入其他人的信息

    repeat = input("还需要添加其他人员的信息吗?(yes/no)") #这里还可以优化,如果输入的既不是yes也不是no的处理等
    if repeat == 'no':
        break

# 显示结果
print('---------我是华丽的分割线---------')
for name, age in info.items():
    print("名字是:" + name + " 年龄是:" + age)

结果:

请输入你的名字:白富美
请输入你的年龄:18
还需要添加其他人员的信息吗?(yes/no)yes
请输入你的名字:高富帅
请输入你的年龄:23
还需要添加其他人员的信息吗?(yes/no)no
---------我是华丽的分割线---------
名字是:白富美 年龄是:18
名字是:高富帅 年龄是:23
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值