为了账号安全,请及时绑定邮箱和手机立即绑定

是否可以让用户使用 input() 在字符串之间输入值?

是否可以让用户使用 input() 在字符串之间输入值?

慕尼黑5688855 2022-06-14 17:55:23
例如,使用 input() 函数,如:input("Type your age:" +"years old")`当我运行它时,我希望用户在 age: 和 years 之间输入他们的年龄,但是,当我运行它时,用户必须在岁后输入他们的年龄。是否有可能让用户可以在年龄:和年份之间输入他们的年龄
查看完整描述

4 回答

?
DIEA

TA贡献1820条经验 获得超3个赞

基本上,没有。当您使用 input([prompt]) 时,您的“输入您的年龄:”+“岁”成为提示。输入总是在最后接受值。


我的问题变成了,你真的需要“岁”的部分吗?


你总是可以做这样的事情:


age = input('How old are you?')

print(f'You are {age} years old!')


查看完整回答
反对 回复 2022-06-14
?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

实际上是的,但它不太实用:

x = input("           years old \rAge: ")
print(x)

这里的技巧是使用\r(回车) 将光标返回到行首。

请注意,如果用户键入的内容大于给定的空格数,它将覆盖文本“岁”。


查看完整回答
反对 回复 2022-06-14
?
守候你守候我

TA贡献1802条经验 获得超10个赞

您可以使用 的实现getch从用户读取单个字符。


这是解决方案:


import sys


print("Type your age:", end=" ")

sys.stdout.flush()

c = getch()

print(c + " years old")

首先,你得到:


Type your age: ▯

然后,您按一个字符(您可以使用 2 次调用getch来获取 2 个字符)。它打印:


Type your age: 9 years old

编辑


但是,这样做的经典方法是:


while True:

    try:

        age = int(input("Type your age: "))

    except ValueError:

        print("This is not an integer")

        print()

    else:

        if 1 <= age <= 120:

            break

        print("please, enter your age between 1 and 120 years")

        print()


print("You are {age} years old.".format(age=age))


查看完整回答
反对 回复 2022-06-14
?
当年话下

TA贡献1890条经验 获得超9个赞

是的,但您必须学习如何打印、退格和从那里获取输入。处理这个问题的常用方法是准确地表达你的问题:

input("Enter your age in years, a whole number: ")


查看完整回答
反对 回复 2022-06-14
  • 4 回答
  • 0 关注
  • 166 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号