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