Python学习——实现简单的交互raw_input的使用

row_input的使用:

>>> name=raw_input("please input your name:")
please input your name:xiaobai
>>> name
‘xiaobai‘

编写小程序,询问用户姓名,性别,年龄,工作,工资,以格式化的方式输出:

Information of company stuff:

Name:

Age:

Sex:

Job:

代码:

[[email protected] ~]# vim information_of_stuff.py   
#!/bin/python
name=raw_input("Please input your name:")
age=raw_input("Please input your age:")
sex=raw_input("Please input your sex:")
job=raw_input("Please input your job:")
print ‘‘‘
==============================
Information of company stuff:
Name: %s
Age: %s
Sex: %s
Job: %s
==============================‘‘‘%(name,age,sex,job)

执行:

[[email protected] ~]# python information_of_stuff.py
Please input your name:xiaobai
Please input your age:25
Please input your sex:male
Please input your job:engineer
==============================
Information of company stuff:
Name: xiaobai
Age: 25
Sex: male
Job: engineer
==============================

输入一个0~100直接的数字让用户猜,并且猜测次数不能大于三次。

[[email protected] ~]# vim guess_num.py   
#!/bin/python
import os
os.system(‘clear‘)                  #执行时先清屏
real_num=int(raw_input("please input the real_num from 0 to 100:"))
os.system(‘clear‘)                  #输入让用户猜的数字后清屏
retry_count=0                       #设定循环关闭条件
while retry_count<3:                #后面加冒号
        guess_num=int(raw_input("Please input a number from 0 to 100:"))
        if guess_num>real_num:
                print "Wrong! Please try smaller!"
                retry_count+=1       #自增
        elif guess_num<real_num:     #多个条件用elif
                print "Wrong! Please try bigger!"
                retry_count+=1
        else:                        #最后一个条件用
                print "Congurations! You got it!"
                break                #跳出循环
else:
        print "Too much times!"

Python不像shell,没有fi循环关闭符号,而是通过缩进控制代码层级,同一级代码缩进应保持一致,if和else不属于同一级,缩进不同也可执行,但不符合书写规范。

raw_input输入的是字符串,字符串与数字比较时会自动转为ASCII值进行比较,因此要使用int将其转换为整数类型,break为跳出循环。

ord:将字符串转换为ASCII对应的值。

>>> print ord("a")
97
>>> print ord("1") 
49

优化代码,以上代码输入回车或字符串会报错,且数字不是随机值,需要优化。

[[email protected] ~]# vim guess_num.py   
#!/bin/python
import os
import random
os.system(‘clear‘)
real_num=random.randrange(100)
os.system(‘clear‘)
retry_count=0
while retry_count<3:
        guess_num=raw_input("Please input a number from 0 to 100:").strip() #去空格回车
        if len(guess_num)==0:            #判断字符串长度是否为0
                continue
        if guess_num.isdigit():          #判断是否全为数字
                guess_num=int(guess_num)
        else:
                print "You should input a number instead of string!"
                continue                 #跳出当前循环,进行下一次循环
        if guess_num>real_num:
                print "Wrong! Please try smaller!"
        elif guess_num<real_num:
                print "Wrong! Please try bigger!"
        else:
                print "Congurations! You got the real number %d !"%real_num
                break
        retry_count+=1
else:
        print "Too much times! The real number is",real_num

.strip()表示将输入的空格和回车去掉;

len(guess_num)表示计算字符串的长度;

continue表示跳出当前循环,进行下一次循环;

isdigit()表示判断是否全是数字;

将上述循环更改为for循环:

[[email protected] ~]# vim guess_num_for.py    
#!/bin/python
import os
import random
os.system(‘clear‘)
real_num=random.randrange(100)
os.system(‘clear‘)
for i in range(3):
        guess_num=raw_input("Please input a number from 0 to 100:").strip()
        if len(guess_num)==0:
                continue
        if guess_num.isdigit():
                guess_num=int(guess_num)
        else:
                print "You should input a number instead of string!"
                continue
        if guess_num>real_num:
                print "Wrong! Please try smaller!"
        elif guess_num<real_num:
                print "Wrong! Please try bigger!"
        else:
                print "Congurations! You got the real number %d !"%real_num
                break
else:
        print "Too much times! The real number is",real_num

range为数组,其参数分别为起始值,末尾值,步长。

>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(2,10,2)
[2, 4, 6, 8]
>>> range(2,20,5)
[2, 7, 12, 17]

设计一个多层循环,用户输入密码正确的话进入目录进行选择,并能退出循环。

[[email protected] ~]# cat mulit_loop.py    
#!/bin/python
passwd="test"
logout=False            #加跳出的flag
for i in range(3):
    password=raw_input("Please input your password:").strip()
    if len(password)==0:
        continue
    if password==passwd:
        print "Welcome to login!"
        while True:
            user_select=raw_input(‘‘‘
            ====================================
            Please input a number to continue
            1.Send files;
            2.Send emalis;
            3.exit this level;
            4.exit the whole loop.
            ====================================
            ‘‘‘).strip()
            user_select=int(user_select)
            if user_select==1:
                print "Sending files as you wish!"
            if user_select==2:
                print "Sending emails as you wish!"
            if user_select==3:
                print "Exit this level,please re-input the password!"
                break
            if user_select==4:
                print "Ok, let‘s have a break!"
                logout=True
                break
        if logout==True:
            break
时间: 2024-11-08 16:53:18

Python学习——实现简单的交互raw_input的使用的相关文章

Python学习 —— 实现简单爬虫

为了加快学习python3.x于是直接看了许多有实际操作的小项目,查了许多资料后写了这个脚本,这个脚本主要是爬取百度图片'东方幻想乡'的图片,但发现有几个问题: 1.图片会重复两次. 2.图片只有81张,只匹配了fm=27的图片... 下面给出代码: from urllib import request import re class CrawlJPG: #定义一个爬取图片的类 def __init__(self): # 构造函数 print('Link start!') def __GetHt

python学习-ansible简单使用1

一.介绍 Ansible 一种集成 IT 系统的配置管理.应用部署.执行特定任务的开源平台,是 AnsibleWorks 公司名下的项目,该公司由 Cobbler 及 Func 的作者于 2012 年创建成立. Ansible 基于 Python 语言实现,由 Paramiko 和 PyYAML 两个关键模块构建. Ansible 特点: >> 部署简单,只需在主控端部署 Ansible 环境,被控端无需做任何操作.>> 默认使用 SSH(Secure Shell)协议对设备进行管

第一次接触python学习最简单的print

1 # -*- coding:utf-8 -*- 2 print "hello world" 3 print("hello world") 这里面使用了2中print方式,下面会逐行解释代码并说明2中print方式区别在哪里 # -*- coding:utf-8 -*- #这行代码的意思是使用utf-8编码格式,主要用于中文 1 print "hello world" #print""代码格式在python 2.7版本中使用

Python学习笔记-简单GUI开发

使用Tkinter进行开发 简单文本窗口实现: 下载tkinter模块 yum -y install tkinter 最简单的Tkinter窗口 from tkinter import *   #将Tkinter模块中的符号都导入进来 root = Tk()     #为了初始化Tkinter,首先创建一个Tk的根部件 word = Label(root,text="hello,World")   #创建一个标签部件,并赋值给word变量,第一个参数root为此部件的父部件,使用tex

python学习:简单的wc命令实现

#!/usr/bin/python import sys import os try: fn = sys.argv[1] except IndexError: print "please follow a argument at %s" % __file__ sys.exit() if not os.path.exists(fn): print "%s is not exists" % fn sys.exit() fd = open(sys.argv[1]) dat

Python学习之简单网页爬虫

0x00案例   爬取博客园某页面的所有图片并下载到本地 连续搞了一周的python,收获颇多,主要还是锻炼了自己的脾气...话不多说,先贴上脚本 #coding:utf-8 import urllib2 import re url="https://www.cnblogs.com/peterpan0707007/p/7620048.html" headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:59.0) Ge

python学习-paramiko简单使用

paramiko是基于python实现的ssh2远程安全连接,支持认证及密钥方式.可以实现远程命令执行,文件传输.中间ssh代理等功能. 安装: pip install paramiko或 easy_install paramiko paramiko依赖第三方的Crypto,Ecdsa和pyhton-devel 核心组件: SSHclient类方法: connect():远程ssh连接并作校验 参数: hostname 连接的目标主机 port=SSH_PORT 指定端口 username=No

python学习之路-用户交互,if,while循环

一:用户交互 与用户交互主要使用input,这里需要说明三点: 1:input会等待用户输入 2:会将输入的内容赋值给变量 3:input出的变量都是字符串类型(str) 例子1:注意,因为input输出的字符串,所以可以做拼接 name=input("你的名字:") age=input("你的年龄:") print("你叫"+name,"年龄是"+age+"岁") 原文地址:https://www.cnb

PYTHON学习0003:用户交互和注释----2019-6-4

Python注释多行的方法有以下三种:1.使用ctrl+/实现多行注释:首先先选中要注释的段落,然后按下ctrl+/,即可实现多行代码的注释.再一次按下ctrl+/就可以取消注释2.在每一行的开头使用shift+#键:跟注释单行一样在每一行前面输入shift+#3.输入''' '''或者""" """,将要注释的代码插在中间:可以输入''' '''或者""" """,将要注释的代码插在中