函数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