input
通过获取用户输入并学会控制程序的运行时间,可编写出交互式程序。
input()工作原理
函数input()可以让程序暂停运行,等待用户输入一些文本。获取用户输入后,python将其存储在一个变量中,以方便你使用。举个简单例子
##这里()内的内容是提示用户
###当用户输入数据后,input会把这个数据传给message
message = input("输入一个数字:")
##打印message
print(message)
##执行
输入一个数字:10 ##这里需要自己输入
10
有时候提示会超过一行,就可以把提示传给一个参数然后再达到提示内
hint = '欢迎来到文字游戏!'
hint += '\n输入一个数字:'
message = input(hint)
print(message)
##执行
欢迎来到文字游戏!
输入一个数字:10
10
你使用input(),python会将用户输入解读为字符串,有时候你需要整形的数而不是字符串,所以就要使用int()来装换
##没转换前
message = input('输入一个数字:')
print(message,type(message))
##执行
输入一个数字:10
10 <class 'str'>
##转换后
message = int(input('输入一个数字:'))
print(message,type(message))
##执行
输入一个数字:10
10 <class 'int'>
编写一段代码,判断一个人的身高是否满足做过山车
hint = '欢迎来到XXX游乐园!您现在想玩的是过山车'
hint += '\n请输入您的身高(cm):'
##int转换为整型
height = int(input(hint))
print('-------------------------------------')
##判断身高大于140cm的可以座过山车
if height >= 140:
print('您可以玩过山车')
else:
print('很抱歉!您不能玩过山车')
##执行
欢迎来到XXX游乐园!您现在想玩的是过山车
请输入您的身高(cm):130
-------------------------------------
很抱歉!您不能玩过山车
求模运算符
求模运算他将两个数相除并返回余数
print(3% 2)
print(7% 7)
print(6% 12)
print(6% 5)
##执行
1
0
6
1
判断一个数为奇数还是偶数
hint = '输入一个数判断它时奇数还是偶数'
hint += '\n输入:'
number = int(input(hint))
if number % 2 == 0:
print("他是偶数")
else:
print('他是奇数')
##执行
输入一个数判断它时奇数还是偶数
输入:123154
他是偶数
编写一个程序,询问用户要买什么样的电脑,并打印一条消息,如"为您挑选联想的电脑"。
hint = '欢迎来到xxx电脑店,本店品质保证,童叟无欺,多家合作,拥有联想,华硕,宏基,惠普,戴尔...等十多家的代理'
hint += '\n请输入您要挑选的电脑品牌:'
compute = input(hint)
print("好!这就为您挑选"+compute+"品牌的电脑")
##执行
欢迎来到xxx电脑店,本店品质保证,童叟无欺,多家合作,拥有联想,华硕,宏基,惠普,戴尔...等十多家的代理
请输入您要挑选的电脑品牌:华硕
好!这就为您挑选华硕品牌的电脑
让用户输入一个数字,并指出这个数字是否是10的整数倍。
number = int(input("输入一个数:"))
if number % 10 == 0:
print('数字'+str(number)+'是10的整数倍')
else:
print('数字'+str(number)+'不是10的整数倍')
##执行
输入一个数:1231
数字1231不是10的整数倍
while循环
for循环用于针对集合中的每个元素都一个代码块,而while循环则是不断运行,知道指定的条件不满足为止
使用while循环
使用while循环打印1到5
number = 1
while number <= 5:
print(number)
number += 1
##执行
1
2
3
4
5
让用户选择何时退出
是一个判定条件昂,当用户输入某一个数时就退出循环
hint = '欢迎来到xxx电脑店,本店品质保证,童叟无欺,多家合作,拥有联想,华硕,宏基,惠普,戴尔...等十多家的代理'
hint += '\n请输入您要挑选的电脑品牌,输入quit退出:'
message = ""
##假如用户输入的message对于
while message != 'quit':
message = input(hint)
if message != 'quit':
print("为你挑选"+message+"的电脑")
##执行
欢迎来到xxx电脑店,本店品质保证,童叟无欺,多家合作,拥有联想,华硕,宏基,惠普,戴尔...等十多家的代理
请输入您要挑选的电脑品牌,输入quit退出:华为
为你挑选华为的电脑
欢迎来到xxx电脑店,本店品质保证,童叟无欺,多家合作,拥有联想,华硕,宏基,惠普,戴尔...等十多家的代理
请输入您要挑选的电脑品牌,输入quit退出:华硕
为你挑选华硕的电脑
欢迎来到xxx电脑店,本店品质保证,童叟无欺,多家合作,拥有联想,华硕,宏基,惠普,戴尔...等十多家的代理
请输入您要挑选的电脑品牌,输入quit退出:惠普
为你挑选惠普的电脑
欢迎来到xxx电脑店,本店品质保证,童叟无欺,多家合作,拥有联想,华硕,宏基,惠普,戴尔...等十多家的代理
请输入您要挑选的电脑品牌,输入quit退出:quit
使用标志
在更加复杂的程序中,导致程序停止运行的情况有很多种,如果在一条while语句中检查所有这些条件,就会特别困难。
可以定义一个变量,用于判断整个程序是否,处于活动状态。这个变量被称为标志
while循环主要判断后面的判断是否为 true 如果为true就继续运行,如果为false就停止
#先定义一个标签
status = True
##直接在while后加入True
while status:
message = input('输入一个数字或者一句话:')
if message != 'quit':
print(message)
#如果用户输入quit
elif message == 'quit':
print('程序结束')
##他的状态就会变为False,while就会退出
status = False
##执行
输入一个数字或者一句话:10
10
输入一个数字或者一句话:nihao
nihao
输入一个数字或者一句话:hello
hello
输入一个数字或者一句话:quit
程序结束
使用break退出循环
如果我不使用标签直接在while后面写True可以吗,当然可以,但是你就不能使用标签来停止循环了,就得使用break,
break 就会立即退出循环,不在运行循环中余下的代码,也不管条件测试的结果如何,,
break用来控制程序流程,可以使用它来控制哪些代码将执行,哪些代码不执行
while True:
message = input('输入一个数字或者一句话:')
if message != 'quit':
print(message)
elif message == 'quit':
print('程序结束')
break
##执行
输入一个数字或者一句话:你好
你好
输入一个数字或者一句话:hello
hello
输入一个数字或者一句话:quit
程序结束
for循环使用break
##生成一个循环遍历1-6
for i in range(10):
print(i)
#如果i大于5就立即退出循环
if i > 5:
break
##执行
0
1
2
3
4
5
6
continue
continue是可以根据条件判断来判断是否返回到循环,它不是立即退出循环,它是跳过
##使用while循环输出1-10中的偶数
number = 0
while number < 10:
number += 1
if number % 2 == 0:
print(number)
##执行
2
4
6
8
10
##使用while循环输出1-10中的奇数
number = 0
while number < 10:
number += 1
if number % 2 == 0:
continue
print(number)
##执行
1
3
5
7
9
有家电影院根据观众的年龄收取不同的票价:不到3岁的观众免费;3~12岁的观众为10美元;超过12岁的观众为15美元。请编写一个循环,在其中询问用户的年龄,并指出其票价。
这里使用到了isdigit()来判断
isdigit() | 判断字符串是否为数字 |
---|---|
isalpha() | 判断字符串是否为字母 |
isalnum() | 判断字符串是否为数字和字母的组合 |
##定义一个循环使它一直运行
while True:
##输入年龄
age = input('请输入您的年龄查询您的票价(输入单个数字即可):')
##isdigit()是判断字符是否为全数字,如果是则执行一下
if age.isdigit():
if 3 <= int(age) <= 12:
print('您的票价为10$')
break
elif int(age) > 12:
print("您的票价啊为15$")
break
elif int(age) < 3:
print("免费")
break
##如果不是全数字则执行一下
else:
if age == 'quit':
break
else:
print("请重新输入(输入quit 退出)")
##执行
请输入您的年龄查询您的票价(输入单个数字即可):dfahjksldf
请重新输入(输入quit 退出)
请输入您的年龄查询您的票价(输入单个数字即可):dfasjkfl1231
请重新输入(输入quit 退出)
请输入您的年龄查询您的票价(输入单个数字即可):12
您的票价为10$
使用while循环来处理列表和字典
for循环是一种遍历列表的有效方法,但在for循环中不应修改列表,否则将导致Python难以跟踪其中的元素。要在遍历列表的同时进行修改,可使用while循环。通过将while循环同列表和字典结合起来使用,可收集,存储并组织大量输入。
Unverified_users = ['xiaoming', 'xiaoqiang', 'xiaowang']
Verified_users = []
while Unverified_users:
Verified_user = Unverified_users.pop()
print('用户已验证成功!')
Verified_users.append(Verified_user)
print('已验证用户有:')
print(Verified_users)
##执行
用户已验证成功!
用户已验证成功!
用户已验证成功!
已验证用户有:
['xiaowang', 'xiaoqiang', 'xiaoming']
while删除列表元素
pets = ['dog', 'cat', 'pig', 'cat', 'cat', 'rabbit',]
while 'cat' in pets:
##删除列表中元素
pets.remove('cat')
print(pets)
##执行
['dog', 'pig', 'rabbit']
使用用户输入来填充字典
##设置一个空字典
users = {}
status = True
while status:
name = input('输入您的名字:')
phone = input('输入您的电话号码:')
users['name'] = phone
repat = input("还有人继续参与调查吗(yes/no)?:")
##判断用户是否继续调查,如果没有则中止调查
if repat == 'no':
status = False
print('-------------------------------------------------------------------')
for name, phone in users.items():
print('参与调查的有:'+name+
"\n电话号码为:"+phone
)
###执行
输入您的名字:tanc
输入您的电话号码:123456789
还有人继续参与调查吗(yes/no)?:no
-------------------------------------------------------------------
参与调查的有:name
电话号码为:123456789