python运行input不出结果_python的input和while循环

python的input和while使用

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

一、Python input()函数:获取用户输入的字符串

Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型。

Python2.x 中 input() 相等于 eval(raw_input(prompt)),用来获取控制台的输入。

raw_input() 将所有输入作为字符串看待,返回字符串类型。而 input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float )。

注意:input() 和 raw_input() 这两个函数均能接收 字符串 ,但 raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 。

除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 raw_input() 来与用户交互。

注意:python3 里 input() 默认接收到的是 str 类型。

函数语法

input([prompt])

参数说明:

prompt: 提示信息

解决问题:

input 得到的数据到底是什么类型

多个参数接收input的输入,是怎么解包的

如果输入的个数不确定,怎么处理

要判断输入的是不是float 类型

要对输入的参数格式输出,规定参数只能是str或者int 或者float类型

1、例子

# 用户输入

# 提示输入内容

pet = input ('请输入您最喜欢的宠物名称:')

print(pet)

输出结果如下:

请输入您最喜欢的宠物名称:猫咪

猫咪

2、吉祥号码

在python 3 里,一切input的得到的东西,都是str类型(可用type()查看类型)

good_luck_num = input('请输入你的吉祥号码:')

print(type(good_luck_num))

print('您输入的是:'+good_luck_num)

输出结果如下:

请输入你的吉祥号码:9898998

<class 'str'>

您输入的是:9898998

在python2 里 有input 和raw_input

raw_input 得到的都是str类型

input 会根据输入数据的类型自动生成类型

我们可以使用 Python 内置函数将字符串转换成想要的类型,比如:

int(string) 将字符串转换成 int 类型;

float(string) 将字符串转换成 float 类型;

bool(string) 将字符串转换成 bool 类型。

3、超市选物

print('---------超市购物系统---------')

print('1.电子产品 2.化妆品 3.生活用品 4.书籍')

# print('请选择您要购买的产品类型:')

product_type = input('请选择您要购买的产品类型:')

# 判断输入的序号

if product_type == '1':

print('电子产品')

elif product_type =='2':

print('化妆品')

elif product_type =='3':

print('生活用品')

elif product_type =='4':

print('书籍')

else:

print('只能输入1~4的数字')

输出结果如下:

---------超市购物系统---------

1.电子产品 2.化妆品 3.生活用品 4.书籍

请选择您要购买的产品类型:4

书籍

4、小练习

(1)编写一个程序,询问用户最喜欢的IT从业岗位,并输出一条信息,如:“我最喜欢的岗位是Python自动化运维。”

gz = input('您最喜欢的IT从业岗位:')

print('我最喜欢的岗位是'+gz)

输出结果如下:

您最喜欢的IT从业岗位:Python自动化运维

我最喜欢的岗位是Python自动化运维

(2)编写一个程序,询问学生今天的作业完成了吗?如果输入“y”,则输出“今天的作业完成了”;如果输入“no”,则输出“今天的作业还需要一段时间才能完成。”

zy = input('今天的作业完成了吗?:(y/n)')

if zy == 'y':

print('今天的作业完成了')

elif zy == 'n':

print('今天的作业还需要一段时间才能完成')

输出结果如下:

今天的作业完成了吗?:(y/n)y

今天的作业完成了

(3)让用户输入一个三位数,输出这个数是不是回文数。

num = input('输入一个三位数')

num2 = num[::-1]

print(num2)

if num == num2:

print('这是个回文数')

elif num != num2:

print('这是个普通数字')

输出结果如下:

输入一个三位数121

121

这是个回文数

二、Python While 循环语句

Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:

while 判断条件(condition):

执行语句(statements)……

执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。

当判断条件假 false 时,循环结束。

执行流程图如下:

886A6E10-58F1-4A9B-8640-02DBEFF0EF9A.jpg

Gif 演示 Python while 语句执行过程

006faQNTgw1f5wnm06h3ug30ci08cake.gif

复杂一点:

loop-over-python-list-animation.gif

1、例子:(while循环:如果这件事情是重复性的去做的)

num = 1

while num<10:

print(num,end=" ")

num = num+1

输出结果如下:

1 2 3 4 5 6 7 8 9

2、使用while循环,计算1-100之间偶数之和。

#创建一个变量x初始化为2

x = 2

#创建一个变量sum初始化为0

sum = 0

#使用while循环求出0-100所有偶数的和

while x <= 100 :

sum += x

x += 2

#打印输出求和结果

print(sum)

输出结果如下:

2550

3、编写一个程序,模拟用户登录,验证用户名和密码,最大输入次数为3次,否则锁定用户。

count = 3

users= 'xgp'

password= '123.com'

i = 3

while i > 0 and i < 4:

# 输入提示

user = input('请输入您的用户名:')

passwd = input('请输入您的密码:')

# 判断用户名和密码

if user == users and passwd == password:

print('登陆成功')

break

else:

# 登陆统计次数

i = i - 1

if i == 0:

print('账号锁定')

相比较上面的简单一点

count = 3

while count>0:

name = input('请输入用户名:')

password = input('请输入密码:')

if name == 'xgp' and password == '123.com':

print('通过验证,即将登陆......')

break

else:

count = count - 1

print('还剩'+str(count)+"次机会")

输出结果(1):

请输入您的用户名:1

请输入您的密码:1

请输入您的用户名:1

请输入您的密码:1

请输入您的用户名:1

请输入您的密码:1

账号锁定

输出结果(2):

请输入您的用户名:xgp

请输入您的密码:123.com

登陆成功

三、while循环处理列表和字典

for循环是一种遍历列表的有效方式,但在for循环中不应修改列表,否则将导致Python难以跟踪其中的元素。要在遍历列表的同时对其进行修改,可使用while循环。

通过将while循环同列表和字典结合起来使用,可收集、存储并组织大量输出,供以后查看和显示。

1、类似列表复制

users = ['alpha','byta','gima']

users_shadow = []

while users:

current_user = users.pop()

users_shadow.append(current_user)

print(users_shadow)

输出结果如下:

['gima', 'byta', 'alpha']

for循环复制

for i in users:

users_shdow.append(i)

print(users_shadow)

输出结果如下:

['gima', 'byta', 'alpha']

2、删除列表当中的指定元素

users = ['alpha','byta','gima']

print(users)

while 'byta' in users:

users.remove('byta')

print(users)

输出结果如下:

['alpha', 'byta', 'gima']

['alpha', 'gima']

3、创建一个调查程序,每次循环的时候,提示输入接受调查的名字和回答,将这个收集到的数据存储到一个字典中

# 创建一个空字典

responses = {}

# 设置标志:表示调查是否继续

flag = True

# 循环操作

while flag:

#提示输入接受调查的名字和回答

name = input('请输入您的名字:')

response = input('清输入您的答案:')

# 将答案存储到字典中

responses[name] = response

# 是否还有人需要参加调查

repeat = input('是否还有人需要参加调查:(yes/no)')

if repeat == 'no':

flag = False

# 显示调查结果

print('\n-------------------调查结果-------------------')

for name,response in responses.items():

print(name + ">>>" + response)

输出结果如下:

请输入您的名字:wsd

清输入您的答案:123

是否还有人需要参加调查:(yes/no)yes

请输入您的名字:wushaox

清输入您的答案:x

是否还有人需要参加调查:(yes/no)no

-------------------调查结果-------------------

wsd>>>123

wushaox>>>x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值