输入(...)提示后显示%?

2024-01-09

假设我们使用的是 python3.3 和多平台(Linux 和 WIndow),如果我执行以下操作:

>>> eval(input("enter a percent from 1-100"))

I get:

enter a percent from 1-100: (Terminal is Waiting for user prompt) 

我希望它显示:

enter a percent from 1-100: (waiting for user prompt)  %

我该如何证明这一点%括号后面?


如果我理解你的问题,你希望能够编写一个包含以下内容的提示:%符号字符,但将用户的光标置于符号的左侧,如下所示:

Enter a percent from 1-100:     %
                            ^ cursor is here

对此没有通用的解决方案,因为基本文本 IO 通常面向没有明确定义交互的输入和输出流。有一些方法在某些情况下有效,但在其他情况下则无效,但我不确定是否有任何方法在任何地方都有效(除了编写 GUI 之外)。

我的一个建议是包含 ASCII(和 unicode)退格字符'\b' (or '\x08')在你的提示中。在某些控制台上,每个退格键会将光标向左移动一个字符。因此,上面的提示可以通过以下方式生成:

input("Enter a percent from 1-100:     %\b\b\b\b\b")

当我从 Windows 运行 Python 时这有效CMD.exeshell,但当我在 IDLE 中运行它时则不会('\x08'字符显示为一个框,中间有一个小圆圈)。但这有点粗糙,因为它不能阻止用户输入的字符多于前面的空格。%(将被输入的第五个字符覆盖)。

另一个可能更强大的解决方案(但不是跨平台的,唉)是使用curses module http://docs.python.org/3/library/curses.html。我对它的了解不够,无法建议代码,但应该可以使其执行您想要的操作(甚至可以控制诸如阻止用户输入超过三个字符或移动%符号以与任何长度的值正确对齐)。

最后一件事:我强烈建议您不要使用eval在你周围input称呼。如果您期望(并且需要)一个整数值,请使用int(input())。如果您可能会得到一个整数,但也可能会得到其他类型的值,请使用多行来测试您得到的结果:

def get_val():
    str_val = input()
    try:
        return int(str_val) # handle numbers like 1, 23232, etc.
    except ValueError:
        pass

    try:
        return float(str_val) # handles 23.5 and -3e-3 (but beware, also "nan" and "inf")
    except ValueError:
        pass

    try:
        return make_some_other_value(str_val) # whatever you want
    except ValueError:
        pass

    return str_val # give up and return the string
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

输入(...)提示后显示%? 的相关文章

  • python的_random是什么?

    如果你打开random py看看它是如何工作的 它的类Random子类 random Random import random class Random random Random Random number generator base
  • 对 Python DataFrame 进行子集化

    我正在从 R 过渡到 Python 我刚刚开始使用 Pandas 我有一个可以很好地子集化的 R 代码 k1 lt subset data Product p id Month lt mn Year yr select c Time Pro
  • cv2.face.mindistancepredictcollector() 错误

    我已经安装了带有额外模块的 opencv 3 1 0 但是当我尝试使用 gt gt gt s cv2 face MinDistancePredictCollector 它返回一个错误 Traceback most recent call l
  • 在 python + Flask + Gunicorn + nginx + Compute Engine 应用程序中从 Google Cloud Storage 读取文件失败

    在 python Flask Gunicorn nginx Compute Engine 应用程序中读取从 Google Cloud Storage 下载的文件失败 代码链接 https github com samuq CE test h
  • SMTPAuthenticationError: (535, b'5.7.8 用户名和密码在 Django 生产中不被接受?

    我在 Heroku 上部署了一个 Django 应用程序 在其中一节中 我使用 SMTP Gmail 设置向用户发送电子邮件 当我在本地运行项目时 电子邮件发送成功 但在 Heroku 上部署的项目上却发送失败 我在 Stackoverfl
  • 确定Python模块中的函数是否可用

    我正在研究一些使用Python套接字的代码socket fromfd http docs python org library socket html socket fromfd功能 但是 此方法并非在所有平台上都可用 因此我正在编写一些后
  • Python变量赋值问题

    a b 0 1 while b lt 50 print b a b b a b 输出 1 2 4 8 16 32 wheras a b 0 1 while b lt 50 print b a b b a b 输出 正确的斐波那契数列 1 1
  • 在 Windows 上将 NumPy 与 BLAS 链接

    我正在尝试在 Windows 系统上安装 Theano 并且需要安装 BLAS 和 LAPACK 我的 System32 文件夹中有这些的 dll 文件 当我运行 numpy config来自 Anaconda 的 show 库的路径正确显
  • Python 函数可能会引发哪些异常? [复制]

    这个问题在这里已经有答案了 Python 中有什么方法可以确定 内置 函数可能引发哪些异常 例如 文档 http docs python org lib built in funcs html http docs python org li
  • 按字段名称对命名元组列表进行排序的 Pythonic 方法

    我想对命名元组列表进行排序 而不必记住字段名的索引 我的解决方案看起来相当尴尬 希望有人能有一个更优雅的解决方案 from operator import itemgetter from collections import namedtu
  • 图像堆栈的最大强度投影

    我正在尝试重新创建该功能 max array 3 来自 MatLab 它可以获取 N 个图像的 300x300px 图像堆栈 我在这里说 图像 因为我正在处理图像 实际上这只是一个大的双数组 300x300xN 并创建一个 300x300
  • 将数据框列打包到 pandas 中列出

    我需要将 pandas DataFrame 列打包到包含列表的一列中 例子 For gt gt gt df a b c 0 81 88 1 1 42 7 23 2 8 37 63 3 18 22 20 制作列表栏 list col 0 81
  • 不重复的Python组合

    我有一个数字列表 我想从中进行组合 如果我有清单 t 2 2 2 2 4 c list itertools combinations t 4 结果是 2 2 2 2 2 2 2 4 2 2 2 4 2 2 2 4 2 2 2 4 但我想得到
  • 为图例中的点设置固定大小

    我正在制作一些散点图 我想将图例中的点的大小设置为固定的相等值 现在我有这个 import matplotlib pyplot as plt import numpy as np def rand data return np random
  • 尝试修复我的功能

    我正在开发一个函数 我必须返回一个元组 其中第一个参数是最大数字的 str 第二个参数是 int 列表 这是示例以及我为该函数编写的内容 投票 G G N G C G 1 3 0 1 您必须将最大值的位置映射到正确的一方 parties N
  • 从 sublime_plugin.WindowCommand 获取当前文件名

    我开发插件sublime text 3 并想要获取当前打开的文件路径 absolute1 self window view file name 在哪里self is sublime plugin WindowCommand 但失败了 Att
  • 使用 Pandas 和 Group By 绘制堆叠直方图

    我正在使用如下所示的数据集 Gender Height Width Male 23 4 4 4 Female 45 4 4 5 我想可视化高度和宽度的堆叠直方图 我希望每个图有两个堆叠的直方图 每个性别一个 这是文档中的堆叠直方图 如果存在
  • 在 python 中使用递归替代 len()

    作为 CS1301 问题的一部分 我正在尝试使用递归编写一个函数 该函数将执行与 len 完全相同的操作 但是 我有两个问题 我正在使用全局变量 但我在课程中还没有学到这一点 cs1301 自动评分器告诉我 我的函数返回 26 而不是 13
  • 连接运算符 + 或 ,

    var1 abc var2 xyz print literal var1 var2 literalabcxyz print literal var1 var2 literal abc xyz 除了带有 的自动空格之外 两者有什么区别 哪个通
  • Python列表问题

    我在使用 python 列表时遇到问题 简化版本是 mylist1 some items in a list mylist2 mylist1 mylist1 pop i mylist insert i item print mylist1

随机推荐

  • Lamport同步算法讨论中的“偏序”和“全序”是什么意思?

    我的理解是 部分排序和全排序是两组规则 部分排序有三个规则 1 如果a和b是同一进程中的两个事件 并且a出现在b之前 则a gt b 2 3 那什么是全序呢 为何如此命名 这些名称源于这样一个事实 在部分顺序中 并非所有元素都具有可比性 而
  • Solr 5.1:Solr 创建了太多日志文件

    我正在处理 Solr 5 1 创建太多日志文件的问题 每次 Solr 重新启动时 以及一周定期重新启动时 Solr 都会创建以下文件 我需要它停止 solr gc xxxxxxxx xxxx 类型的文件 其中 x 分别代表日期和某种标识号
  • php中带有多个条件的if语句

    我有多个条件的 if 语句 这两个条件有什么区别 1 if province AB NT NU YT GST 5 else if province BC MB GST 5 PST 7 else if province NB NF ON HS
  • 如何让Mysql数据库支持阿拉伯语?

    我试图将阿拉伯语保存在 mysql 数据库中 但它不以阿拉伯语格式保存 它显示问号而不是阿拉伯语 如何让它用阿拉伯语存储值 我尝试了很多从互联网上看到的查询 但它没有改变 如何将其更改为阿拉伯语 ar SA 阿拉伯语 沙特阿拉伯 请建议一个
  • 如何使用 jQuery 搜索嵌套列表?

    我已经将一个简单的搜索字段放在一起来浏览列表 但我有嵌套列表 并且它仅限于单级列表 如何修改 我把它放在小提琴里 http jsfiddle net marksweb 4CJMe http jsfiddle net marksweb 4CJ
  • 如何将 CakePHP 中的查找限制为特定数量?

    我有一个用户模型 它为我提供最新的用户作为输出 如何限制记录只输出 200 条记录而不是数据库中的所有用户 根据文档 http book cakephp org 2 0 en models retrieving your data html
  • node.js - 如何使用服务工作者缓存handlebars.js

    我想问一下服务人员的情况 我制作了一个网络应用程序并尝试实现服务工作者 我使用 hbs 作为视图布局 当我缓存静态文件时 我无法缓存 hbs css 和 js 文件 这就是我保存文件的方式 public css style css js a
  • 如何从另一个函数返回生成器

    我有一个生成器函数 我想从另一个函数调用它并返回获得的生成器 我在这里可以看到两种方法 请注意 以下函数是简单的虚拟函数 用于说明目的 请不要想出更好的方法来实现这些功能本身 Method 1 def fun a n for i in ra
  • 如何制作热图并使用 NA 值进行聚类?

    我正在尝试使用我的数据制作热图 但很难正确编码 我的矩阵充满了 log x 1 值 这样我就不会遇到 log 0 错误 但是由于数据的性质 我有一堆 0 值 它们掩盖了热图的任何趋势可能正在展示 因此 我想将任何 0 值着色为灰色或黑色 然
  • 所选图像未显示在画布上

    我正在开发一个应用程序 用户可以从提供的图像列表中选择图像 当用户单击列表中的图像时 所选图像应作为背景显示在画布上 我正在使用reactjs redux 和fabricjs 开发它 当我这样做时 我没有得到选定的图像 this props
  • 从 Firebase 数据库异步方法返回值

    我想检查 Firebase 中是否已有具有所选用户名的用户并且我已经创建了一个函数checkUsernameAlreadyTaken username String gt Bool做这个的 这是该函数的代码 func checkUserna
  • 参数超过256字节的CUDA内核调用思路

    我有几个结构 它们的总大小超过了允许在内核调用中作为参数传递的 256 字节大小 这两个结构都已分配并复制到设备全局内存 1 如何在同一个内核中使用这些结构而不将其作为参数传递 更多细节 这些结构可以单独作为参数传递 例如 在不同的内核中
  • 从命令行查看表格文件,例如 CSV [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这个问题似乎不是关于主要由程序员使用的特定编程问题 软件算法或软件工具 help on topic 如果您认为该问题与主题相关另一个 St
  • 异常:oauth 状态丢失或无效。 (ASP.NET Core 外部标识符 OAuth)

    我正在尝试在 Asp Net Core 中实现外部 OAuth https github com aspnet contrib AspNet Security OAuth Providers https github com aspnet
  • 在 iframe 中加载另一个域网站

    我想使用 iframe 在我的网站上加载另一个网站 我在其他一些网站中使用 iframe 加载时遇到了一些其他问题 那么我们不能实现iframe来加载其他域网站页面吗 如果是这样 我们是否有其他方法来加载网站 以下是我测试的方法 我已经尝试
  • 从 Azure DevOps 获取已通过 JavaScript 合并到分支中的所有工作项

    The idea 我目前正在使用 NodeJS 开发一个 发行说明 应用程序 该应用程序调用各种 Azure DevOps REST API 端点来获取基于特定标签的工作项 我现在拥有的 我现在所拥有的工作原理如下 SomeAzure De
  • 将 Github 存储库移植到另一种语言

    我想将别人的存储库移植到另一种语言 就我而言 SCSS gt Stylus 但它很可能是Javascript gt Coffeescript 解决这个问题的最佳方法是什么 我是不是该 分叉存储库并编辑文件 而不是拉取请求 在这里 我只会分叉
  • 在引导程序中,如何使图像成为下拉菜单?

    在引导程序中 如何使图像成为下拉菜单 您好 我在引导程序中创建了一个下拉列表 我想放置一个图像 使其成为单击的项目以查看下拉列表 下面是我的代码
  • C++ 模板和内联

    当我编写一个简单 非模板 类时 如果函数实现 就地 提供 它会自动被视为inline class A void InlinedFunction int a 0 the same as inline void InlinedFunction
  • 输入(...)提示后显示%?

    假设我们使用的是 python3 3 和多平台 Linux 和 WIndow 如果我执行以下操作 gt gt gt eval input enter a percent from 1 100 I get enter a percent fr